; ; __acrt_getptd_noexit from 0x180135434 to 0x180135500 (204 bytes) ; ; 11 xrefs: ; > __acrt_errno_map_os_error @ 0x18012fdec ; > __acrt_errno_map_os_error @ 0x18012fe05 ; > __doserrno @ 0x18012fe34 ; > _errno @ 0x18012fe54 ; > common_end_thread @ 0x1801309f8 ; > _seh_filter_exe @ 0x180131689 ; > Concurrency::details::ScheduleGroupSegmentBase::HasUnrealizedChores @ 0x180132978 ; > _invalid_parameter @ 0x180132d0c ; > __acrt_initialize_ptd @ 0x18013551f ; > raise @ 0x1801396ad ; > @ 0x180203374 ; ; 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, 0x180135434 mov [rsp+arg_8], rsi ; +0x5, 0x180135439 push rdi ; +0xa, 0x18013543e sub rsp, 20h ; +0xb, 0x18013543f call cs:GetLastError ; +0xf, 0x180135443 mov ecx, cs:dword_1801B1870 ; +0x15, 0x180135449 mov ebx, eax ; +0x1b, 0x18013544f cmp ecx, 0FFFFFFFFh ; +0x1d, 0x180135451 jz short loc_180135475 ; +0x20, 0x180135454 call __acrt_FlsGetValue ; +0x22, 0x180135456 mov rdi, rax ; +0x27, 0x18013545b test rax, rax ; +0x2a, 0x18013545e jz short loc_18013546F ; +0x2d, 0x180135461 cmp rax, 0FFFFFFFFFFFFFFFFh ; +0x2f, 0x180135463 jnz short loc_1801354DC ; +0x33, 0x180135467 xor edi, edi ; +0x35, 0x180135469 xor esi, esi ; +0x37, 0x18013546b jmp short loc_1801354DF ; +0x39, 0x18013546d mov ecx, cs:dword_1801B1870; dwTlsIndex ; +0x3b, 0x18013546f or rdx, 0FFFFFFFFFFFFFFFFh; lpTlsValue ; +0x41, 0x180135475 call __acrt_FlsSetValue ; +0x45, 0x180135479 test eax, eax ; +0x4a, 0x18013547e jz short loc_180135469 ; +0x4c, 0x180135480 mov edx, 3C8h; Size ; +0x4e, 0x180135482 mov ecx, 1; Count ; +0x53, 0x180135487 call _calloc_base ; +0x58, 0x18013548c mov ecx, cs:dword_1801B1870; dwTlsIndex ; +0x5d, 0x180135491 mov rdi, rax ; +0x63, 0x180135497 test rax, rax ; +0x66, 0x18013549a jnz short loc_1801354AF ; +0x69, 0x18013549d xor edx, edx; lpTlsValue ; +0x6b, 0x18013549f call __acrt_FlsSetValue ; +0x6d, 0x1801354a1 xor ecx, ecx; Block ; +0x72, 0x1801354a6 call _free_base ; +0x74, 0x1801354a8 jmp short loc_180135469 ; +0x79, 0x1801354ad mov rdx, rdi; lpTlsValue ; +0x7b, 0x1801354af call __acrt_FlsSetValue ; +0x7e, 0x1801354b2 test eax, eax ; +0x83, 0x1801354b7 jnz short loc_1801354CD ; +0x85, 0x1801354b9 mov ecx, cs:dword_1801B1870; dwTlsIndex ; +0x87, 0x1801354bb xor edx, edx; lpTlsValue ; +0x8d, 0x1801354c1 call __acrt_FlsSetValue ; +0x8f, 0x1801354c3 mov rcx, rdi ; +0x94, 0x1801354c8 jmp short loc_1801354A8 ; +0x97, 0x1801354cb mov rcx, rdi; struct __acrt_ptd * ; +0x99, 0x1801354cd call ?construct_ptd_array@@YAXQEAU__acrt_ptd@@@Z ; +0x9c, 0x1801354d0 xor ecx, ecx; Block ; +0xa1, 0x1801354d5 call _free_base ; +0xa3, 0x1801354d7 mov rsi, rdi ; +0xa8, 0x1801354dc mov ecx, ebx; dwErrCode ; +0xab, 0x1801354df call cs:SetLastError ; +0xad, 0x1801354e1 mov rbx, [rsp+28h+arg_0] ; +0xb3, 0x1801354e7 neg rdi ; +0xb8, 0x1801354ec sbb rax, rax ; +0xbb, 0x1801354ef and rax, rsi ; +0xbe, 0x1801354f2 mov rsi, [rsp+28h+arg_8] ; +0xc1, 0x1801354f5 add rsp, 20h ; +0xc6, 0x1801354fa pop rdi ; +0xca, 0x1801354fe retn ; +0xcb, 0x1801354ff