; ; create_environment from 0x180131f08 to 0x18013200e (262 bytes) ; ; 2 xrefs: ; > common_initialize_environment_nolock @ 0x180131e67 ; > @ 0x180202f78 ; ; 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, 0x180131f08 mov [rsp+arg_8], rbp ; +0x5, 0x180131f0d mov [rsp+arg_10], rsi ; +0xa, 0x180131f12 push rdi ; +0xf, 0x180131f17 push r14 ; +0x10, 0x180131f18 push r15 ; +0x12, 0x180131f1a sub rsp, 30h ; +0x14, 0x180131f1c mov r14, rcx ; +0x18, 0x180131f20 xor esi, esi ; +0x1b, 0x180131f23 mov ecx, esi ; +0x1d, 0x180131f25 mov r8, r14 ; +0x1f, 0x180131f27 mov dl, [r14] ; +0x22, 0x180131f2a jmp short loc_180131F53 ; +0x25, 0x180131f2d cmp dl, 3Dh ; '=' ; +0x27, 0x180131f2f lea rax, [rcx+1] ; +0x2a, 0x180131f32 cmovz rax, rcx ; +0x2e, 0x180131f36 mov rcx, rax ; +0x32, 0x180131f3a or rax, 0FFFFFFFFFFFFFFFFh ; +0x35, 0x180131f3d inc rax ; +0x39, 0x180131f41 cmp [r8+rax], sil ; +0x3c, 0x180131f44 jnz short loc_180131F41 ; +0x40, 0x180131f48 inc r8 ; +0x42, 0x180131f4a add r8, rax ; +0x45, 0x180131f4d mov dl, [r8] ; +0x48, 0x180131f50 test dl, dl ; +0x4b, 0x180131f53 jnz short loc_180131F2F ; +0x4d, 0x180131f55 inc rcx; Count ; +0x4f, 0x180131f57 mov edx, 8; Size ; +0x52, 0x180131f5a call _calloc_base ; +0x57, 0x180131f5f mov rbx, rax ; +0x5c, 0x180131f64 test rax, rax ; +0x5f, 0x180131f67 jz short loc_180131FD8 ; +0x62, 0x180131f6a mov r15, rax ; +0x64, 0x180131f6c mov al, [r14] ; +0x67, 0x180131f6f test al, al ; +0x6a, 0x180131f72 jz short loc_180131FD5 ; +0x6c, 0x180131f74 or rbp, 0FFFFFFFFFFFFFFFFh ; +0x6e, 0x180131f76 inc rbp ; +0x72, 0x180131f7a cmp [r14+rbp], sil ; +0x75, 0x180131f7d jnz short loc_180131F7A ; +0x79, 0x180131f81 inc rbp ; +0x7b, 0x180131f83 cmp al, 3Dh ; '=' ; +0x7e, 0x180131f86 jz short loc_180131FBF ; +0x80, 0x180131f88 mov edx, 1; Size ; +0x82, 0x180131f8a mov rcx, rbp; Count ; +0x87, 0x180131f8f call _calloc_base ; +0x8a, 0x180131f92 mov rdi, rax ; +0x8f, 0x180131f97 test rax, rax ; +0x92, 0x180131f9a jz short loc_180131FC4 ; +0x95, 0x180131f9d mov r8, r14; Source ; +0x97, 0x180131f9f mov rdx, rbp; SizeInBytes ; +0x9a, 0x180131fa2 mov rcx, rax; Destination ; +0x9d, 0x180131fa5 call strcpy_s ; +0xa0, 0x180131fa8 xor ecx, ecx; Block ; +0xa5, 0x180131fad test eax, eax ; +0xa7, 0x180131faf jnz short loc_180131FFB ; +0xa9, 0x180131fb1 mov [r15], rdi ; +0xab, 0x180131fb3 add r15, 8 ; +0xae, 0x180131fb6 call _free_base ; +0xb2, 0x180131fba add r14, rbp ; +0xb7, 0x180131fbf jmp short loc_180131F6F ; +0xba, 0x180131fc2 mov rcx, rbx; Block ; +0xbc, 0x180131fc4 call unknown_libname_62; Microsoft VisualC 64bit universal runtime ; +0xbf, 0x180131fc7 xor ecx, ecx; Block ; +0xc4, 0x180131fcc call _free_base ; +0xc6, 0x180131fce jmp short loc_180131FD8 ; +0xcb, 0x180131fd3 mov rsi, rbx ; +0xcd, 0x180131fd5 xor ecx, ecx; Block ; +0xd0, 0x180131fd8 call _free_base ; +0xd2, 0x180131fda mov rbx, [rsp+48h+arg_0] ; +0xd7, 0x180131fdf mov rax, rsi ; +0xdc, 0x180131fe4 mov rsi, [rsp+48h+arg_10] ; +0xdf, 0x180131fe7 mov rbp, [rsp+48h+arg_8] ; +0xe4, 0x180131fec add rsp, 30h ; +0xe9, 0x180131ff1 pop r15 ; +0xed, 0x180131ff5 pop r14 ; +0xef, 0x180131ff7 pop rdi ; +0xf1, 0x180131ff9 retn ; +0xf2, 0x180131ffa xor r9d, r9d; LineNo ; +0xf3, 0x180131ffb mov [rsp+48h+Reserved], rsi; Reserved ; +0xf6, 0x180131ffe xor r8d, r8d; FileName ; +0xfb, 0x180132003 xor edx, edx; FunctionName ; +0xfe, 0x180132006 call _invoke_watson ; +0x100, 0x180132008 db 0CCh ; +0x105, 0x18013200d