; ; __crt_seh_guarded_call::operator from 0x18013a0ec to 0x18013a2a6 (442 bytes) ; ; 2 xrefs: ; > setmbcp_internal @ 0x18013a739 ; > @ 0x180203830 ; ; 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, 0x18013a0ec mov [rsp+arg_18], r9 ; +0x5, 0x18013a0f1 push rdi ; +0xa, 0x18013a0f6 sub rsp, 20h ; +0xb, 0x18013a0f7 mov rdi, r9 ; +0xf, 0x18013a0fb mov rbx, r8 ; +0x12, 0x18013a0fe mov ecx, [rdx] ; +0x15, 0x18013a101 call sub_1801346AC ; +0x17, 0x18013a103 nop ; +0x1c, 0x18013a108 mov rax, [rbx] ; +0x1d, 0x18013a109 mov rcx, [rax] ; +0x20, 0x18013a10c mov rax, [rcx+88h] ; +0x23, 0x18013a10f add rax, 18h ; +0x2a, 0x18013a116 mov rcx, cs:qword_1801F55C0; void * ; +0x2e, 0x18013a11a test rcx, rcx ; +0x35, 0x18013a121 jz short loc_18013A195 ; +0x38, 0x18013a124 test rax, rax ; +0x3a, 0x18013a126 jz short loc_18013A188 ; +0x3d, 0x18013a129 mov r8d, 2 ; +0x3f, 0x18013a12b mov r9d, r8d ; +0x45, 0x18013a131 lea edx, [r8+7Eh] ; +0x48, 0x18013a134 movups xmm0, xmmword ptr [rax] ; +0x4c, 0x18013a138 movups xmmword ptr [rcx], xmm0 ; +0x4f, 0x18013a13b movups xmm1, xmmword ptr [rax+10h] ; +0x52, 0x18013a13e movups xmmword ptr [rcx+10h], xmm1 ; +0x56, 0x18013a142 movups xmm0, xmmword ptr [rax+20h] ; +0x5a, 0x18013a146 movups xmmword ptr [rcx+20h], xmm0 ; +0x5e, 0x18013a14a movups xmm1, xmmword ptr [rax+30h] ; +0x62, 0x18013a14e movups xmmword ptr [rcx+30h], xmm1 ; +0x66, 0x18013a152 movups xmm0, xmmword ptr [rax+40h] ; +0x6a, 0x18013a156 movups xmmword ptr [rcx+40h], xmm0 ; +0x6e, 0x18013a15a movups xmm1, xmmword ptr [rax+50h] ; +0x72, 0x18013a15e movups xmmword ptr [rcx+50h], xmm1 ; +0x76, 0x18013a162 movups xmm0, xmmword ptr [rax+60h] ; +0x7a, 0x18013a166 movups xmmword ptr [rcx+60h], xmm0 ; +0x7e, 0x18013a16a add rcx, rdx ; +0x82, 0x18013a16e movups xmm1, xmmword ptr [rax+70h] ; +0x85, 0x18013a171 movups xmmword ptr [rcx-10h], xmm1 ; +0x89, 0x18013a175 add rax, rdx ; +0x8d, 0x18013a179 sub r9, 1 ; +0x90, 0x18013a17c jnz short loc_18013A138 ; +0x94, 0x18013a180 mov al, [rax] ; +0x96, 0x18013a182 mov [rcx], al ; +0x98, 0x18013a184 jmp short loc_18013A1AF ; +0x9a, 0x18013a186 xor edx, edx; Val ; +0x9c, 0x18013a188 mov r8d, 101h; Size ; +0x9e, 0x18013a18a call memset ; +0xa4, 0x18013a190 call _errno ; +0xa9, 0x18013a195 mov dword ptr [rax], 16h ; +0xae, 0x18013a19a call _invalid_parameter_noinfo ; +0xb4, 0x18013a1a0 mov r8d, 2 ; +0xb9, 0x18013a1a5 lea edx, [r8+7Eh] ; +0xbf, 0x18013a1ab mov rax, [rbx] ; +0xc3, 0x18013a1af mov rcx, [rax] ; +0xc6, 0x18013a1b2 mov rax, [rcx+88h] ; +0xc9, 0x18013a1b5 add rax, 119h ; +0xd0, 0x18013a1bc mov rcx, cs:qword_1801F55C8; void * ; +0xd6, 0x18013a1c2 test rcx, rcx ; +0xdd, 0x18013a1c9 jz short loc_18013A22C ; +0xe0, 0x18013a1cc test rax, rax ; +0xe2, 0x18013a1ce jz short loc_18013A21F ; +0xe5, 0x18013a1d1 movups xmm0, xmmword ptr [rax] ; +0xe7, 0x18013a1d3 movups xmmword ptr [rcx], xmm0 ; +0xea, 0x18013a1d6 movups xmm1, xmmword ptr [rax+10h] ; +0xed, 0x18013a1d9 movups xmmword ptr [rcx+10h], xmm1 ; +0xf1, 0x18013a1dd movups xmm0, xmmword ptr [rax+20h] ; +0xf5, 0x18013a1e1 movups xmmword ptr [rcx+20h], xmm0 ; +0xf9, 0x18013a1e5 movups xmm1, xmmword ptr [rax+30h] ; +0xfd, 0x18013a1e9 movups xmmword ptr [rcx+30h], xmm1 ; +0x101, 0x18013a1ed movups xmm0, xmmword ptr [rax+40h] ; +0x105, 0x18013a1f1 movups xmmword ptr [rcx+40h], xmm0 ; +0x109, 0x18013a1f5 movups xmm1, xmmword ptr [rax+50h] ; +0x10d, 0x18013a1f9 movups xmmword ptr [rcx+50h], xmm1 ; +0x111, 0x18013a1fd movups xmm0, xmmword ptr [rax+60h] ; +0x115, 0x18013a201 movups xmmword ptr [rcx+60h], xmm0 ; +0x119, 0x18013a205 add rcx, rdx ; +0x11d, 0x18013a209 movups xmm1, xmmword ptr [rax+70h] ; +0x120, 0x18013a20c movups xmmword ptr [rcx-10h], xmm1 ; +0x124, 0x18013a210 add rax, rdx ; +0x128, 0x18013a214 sub r8, 1 ; +0x12b, 0x18013a217 jnz short loc_18013A1D3 ; +0x12f, 0x18013a21b jmp short loc_18013A23C ; +0x131, 0x18013a21d xor edx, edx; Val ; +0x133, 0x18013a21f mov r8d, 100h; Size ; +0x135, 0x18013a221 call memset ; +0x13b, 0x18013a227 call _errno ; +0x140, 0x18013a22c mov dword ptr [rax], 16h ; +0x145, 0x18013a231 call _invalid_parameter_noinfo ; +0x14b, 0x18013a237 mov rax, [rbx+8] ; +0x150, 0x18013a23c mov rcx, [rax] ; +0x154, 0x18013a240 mov rdx, [rcx] ; +0x157, 0x18013a243 or eax, 0FFFFFFFFh ; +0x15a, 0x18013a246 lock xadd [rdx], eax ; +0x15d, 0x18013a249 cmp eax, 1 ; +0x161, 0x18013a24d jnz short loc_18013A26D ; +0x164, 0x18013a250 mov rax, [rbx+8] ; +0x166, 0x18013a252 mov rcx, [rax] ; +0x16a, 0x18013a256 lea rax, unk_1801B1A50 ; +0x16d, 0x18013a259 cmp [rcx], rax ; +0x174, 0x18013a260 jz short loc_18013A26D ; +0x177, 0x18013a263 mov rcx, [rcx]; Block ; +0x179, 0x18013a265 call _free_base ; +0x17c, 0x18013a268 mov rax, [rbx] ; +0x181, 0x18013a26d mov rdx, [rax] ; +0x184, 0x18013a270 mov rax, [rbx+8] ; +0x187, 0x18013a273 mov rcx, [rax] ; +0x18b, 0x18013a277 mov rax, [rdx+88h] ; +0x18e, 0x18013a27a mov [rcx], rax ; +0x195, 0x18013a281 mov rax, [rbx] ; +0x198, 0x18013a284 mov rcx, [rax] ; +0x19b, 0x18013a287 mov rax, [rcx+88h] ; +0x19e, 0x18013a28a lock inc dword ptr [rax] ; +0x1a5, 0x18013a291 mov ecx, [rdi] ; +0x1a8, 0x18013a294 call sub_180134700 ; +0x1aa, 0x18013a296 mov rbx, [rsp+28h+arg_0] ; +0x1af, 0x18013a29b add rsp, 20h ; +0x1b4, 0x18013a2a0 pop rdi ; +0x1b8, 0x18013a2a4 retn ; +0x1b9, 0x18013a2a5