; ; create_environment from 0x180132010 to 0x180132123 (275 bytes) ; ; 2 xrefs: ; > common_initialize_environment_nolock @ 0x180131ece ; > @ 0x180202f84 ; ; This function is hookable on this platform! ; ; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA ; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings ; mov [rsp+arg_0], rbx ; +0x0, 0x180132010 mov [rsp+arg_8], rbp ; +0x5, 0x180132015 mov [rsp+arg_10], rsi ; +0xa, 0x18013201a push rdi ; +0xf, 0x18013201f push r14 ; +0x10, 0x180132020 push r15 ; +0x12, 0x180132022 sub rsp, 30h ; +0x14, 0x180132024 mov r14, rcx ; +0x18, 0x180132028 xor esi, esi ; +0x1b, 0x18013202b mov ecx, esi ; +0x1d, 0x18013202d mov r8, r14 ; +0x1f, 0x18013202f movzx edx, word ptr [r14] ; +0x22, 0x180132032 jmp short loc_180132061 ; +0x26, 0x180132036 cmp dx, 3Dh ; '=' ; +0x28, 0x180132038 lea rax, [rcx+1] ; +0x2c, 0x18013203c cmovz rax, rcx ; +0x30, 0x180132040 mov rcx, rax ; +0x34, 0x180132044 or rax, 0FFFFFFFFFFFFFFFFh ; +0x37, 0x180132047 inc rax ; +0x3b, 0x18013204b cmp [r8+rax*2], si ; +0x3e, 0x18013204e jnz short loc_18013204B ; +0x43, 0x180132053 lea r8, [r8+rax*2] ; +0x45, 0x180132055 add r8, 2 ; +0x49, 0x180132059 movzx edx, word ptr [r8] ; +0x4d, 0x18013205d test dx, dx ; +0x51, 0x180132061 jnz short loc_180132038 ; +0x54, 0x180132064 inc rcx; Count ; +0x56, 0x180132066 mov edx, 8; Size ; +0x59, 0x180132069 call _calloc_base ; +0x5e, 0x18013206e mov rbx, rax ; +0x63, 0x180132073 test rax, rax ; +0x66, 0x180132076 jz short loc_1801320ED ; +0x69, 0x180132079 mov r15, rax ; +0x6b, 0x18013207b movzx eax, word ptr [r14] ; +0x6e, 0x18013207e test ax, ax ; +0x72, 0x180132082 jz short loc_1801320EA ; +0x75, 0x180132085 or rbp, 0FFFFFFFFFFFFFFFFh ; +0x77, 0x180132087 inc rbp ; +0x7b, 0x18013208b cmp [r14+rbp*2], si ; +0x7e, 0x18013208e jnz short loc_18013208B ; +0x83, 0x180132093 inc rbp ; +0x85, 0x180132095 cmp ax, 3Dh ; '=' ; +0x88, 0x180132098 jz short loc_1801320D3 ; +0x8c, 0x18013209c mov edx, 2; Size ; +0x8e, 0x18013209e mov rcx, rbp; Count ; +0x93, 0x1801320a3 call _calloc_base ; +0x96, 0x1801320a6 mov rdi, rax ; +0x9b, 0x1801320ab test rax, rax ; +0x9e, 0x1801320ae jz short loc_1801320D9 ; +0xa1, 0x1801320b1 mov r8, r14; Source ; +0xa3, 0x1801320b3 mov rdx, rbp; SizeInWords ; +0xa6, 0x1801320b6 mov rcx, rax; Destination ; +0xa9, 0x1801320b9 call wcscpy_s ; +0xac, 0x1801320bc xor ecx, ecx; Block ; +0xb1, 0x1801320c1 test eax, eax ; +0xb3, 0x1801320c3 jnz short loc_180132110 ; +0xb5, 0x1801320c5 mov [r15], rdi ; +0xb7, 0x1801320c7 add r15, 8 ; +0xba, 0x1801320ca call _free_base ; +0xbe, 0x1801320ce lea r14, [r14+rbp*2] ; +0xc3, 0x1801320d3 jmp short loc_18013207E ; +0xc7, 0x1801320d7 mov rcx, rbx; Block ; +0xc9, 0x1801320d9 call unknown_libname_63; Microsoft VisualC 64bit universal runtime ; +0xcc, 0x1801320dc xor ecx, ecx; Block ; +0xd1, 0x1801320e1 call _free_base ; +0xd3, 0x1801320e3 jmp short loc_1801320ED ; +0xd8, 0x1801320e8 mov rsi, rbx ; +0xda, 0x1801320ea xor ecx, ecx; Block ; +0xdd, 0x1801320ed call _free_base ; +0xdf, 0x1801320ef mov rbx, [rsp+48h+arg_0] ; +0xe4, 0x1801320f4 mov rax, rsi ; +0xe9, 0x1801320f9 mov rsi, [rsp+48h+arg_10] ; +0xec, 0x1801320fc mov rbp, [rsp+48h+arg_8] ; +0xf1, 0x180132101 add rsp, 30h ; +0xf6, 0x180132106 pop r15 ; +0xfa, 0x18013210a pop r14 ; +0xfc, 0x18013210c pop rdi ; +0xfe, 0x18013210e retn ; +0xff, 0x18013210f xor r9d, r9d; LineNo ; +0x100, 0x180132110 mov [rsp+48h+Reserved], rsi; Reserved ; +0x103, 0x180132113 xor r8d, r8d; FileName ; +0x108, 0x180132118 xor edx, edx; FunctionName ; +0x10b, 0x18013211b call _invoke_watson ; +0x10d, 0x18013211d db 0CCh ; +0x112, 0x180132122