; ; _stat64i32 from 0x180129854 to 0x180129952 (254 bytes) ; ; 3 xrefs: ; > sub_180020140 @ 0x180020395 ; > sub_180020140 @ 0x1800203da ; > @ 0x180202abc ; ; 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-8+arg_0], rbx ; +0x0, 0x180129854 mov [rsp-8+arg_8], rdi ; +0x5, 0x180129859 push rbp ; +0xa, 0x18012985e mov rbp, rsp ; +0xb, 0x18012985f sub rsp, 70h ; +0xe, 0x180129862 mov rbx, rdx ; +0x12, 0x180129866 mov rdi, rcx ; +0x15, 0x180129869 test rcx, rcx ; +0x18, 0x18012986c jnz short loc_18012987D ; +0x1b, 0x18012986f call ??$common_stat@U_stat64i32@@@@YAHQEB_WQEAU_stat64i32@@@Z ; +0x1d, 0x180129871 mov ebx, eax ; +0x22, 0x180129876 jmp loc_18012993E ; +0x24, 0x180129878 and [rbp+var_30], 0 ; +0x29, 0x18012987d lea rcx, [rbp+var_50]; this ; +0x2e, 0x180129882 and [rbp+var_28], 0 ; +0x32, 0x180129886 xor edx, edx; struct __crt_locale_pointers * ; +0x37, 0x18012988b and [rbp+Block], 0 ; +0x39, 0x18012988d and [rbp+var_18], 0 ; +0x3e, 0x180129892 and [rbp+var_10], 0 ; +0x43, 0x180129897 mov [rbp+var_8], 0 ; +0x48, 0x18012989c call ??0_LocaleUpdate@@QEAA@QEAU__crt_locale_pointers@@@Z ; +0x4c, 0x1801298a0 mov rax, [rbp+var_48] ; +0x51, 0x1801298a5 mov r8d, 0FDE9h ; +0x55, 0x1801298a9 cmp [rax+0Ch], r8d ; +0x5b, 0x1801298af jnz short loc_1801298C8 ; +0x5f, 0x1801298b3 cmp [rbp+var_38], 0 ; +0x61, 0x1801298b5 jz short loc_1801298FD ; +0x65, 0x1801298b9 mov rax, [rbp+var_50] ; +0x67, 0x1801298bb and dword ptr [rax+3A8h], 0FFFFFFFDh ; +0x6b, 0x1801298bf jmp short loc_1801298FD ; +0x72, 0x1801298c6 call __acrt_AreFileApisANSI ; +0x74, 0x1801298c8 test eax, eax ; +0x79, 0x1801298cd jnz short loc_1801298E9 ; +0x7b, 0x1801298cf cmp [rbp+var_38], al ; +0x7d, 0x1801298d1 jz short loc_1801298E1 ; +0x80, 0x1801298d4 mov rax, [rbp+var_50] ; +0x82, 0x1801298d6 and dword ptr [rax+3A8h], 0FFFFFFFDh ; +0x86, 0x1801298da mov r8d, 1 ; +0x8d, 0x1801298e1 jmp short loc_1801298FD ; +0x93, 0x1801298e7 cmp [rbp+var_38], 0 ; +0x95, 0x1801298e9 jz short loc_1801298FA ; +0x99, 0x1801298ed mov rax, [rbp+var_50] ; +0x9b, 0x1801298ef and dword ptr [rax+3A8h], 0FFFFFFFDh ; +0x9f, 0x1801298f3 xor r8d, r8d ; +0xa6, 0x1801298fa lea rdx, [rbp+var_30] ; +0xa9, 0x1801298fd mov rcx, rdi ; +0xad, 0x180129901 call ??$__acrt_mbs_to_wcs_cp@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHQEBDAEAV?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@I@Z ; +0xb0, 0x180129904 test eax, eax ; +0xb5, 0x180129909 jz short loc_180129921 ; +0xb7, 0x18012990b cmp [rbp+var_8], 0 ; +0xb9, 0x18012990d jz short loc_18012991C ; +0xbd, 0x180129911 mov rcx, [rbp+Block]; Block ; +0xbf, 0x180129913 call _free_base ; +0xc3, 0x180129917 or ebx, 0FFFFFFFFh ; +0xc8, 0x18012991c jmp short loc_18012993E ; +0xcb, 0x18012991f mov rcx, [rbp+Block]; wchar_t * ; +0xcd, 0x180129921 mov rdx, rbx ; +0xd1, 0x180129925 call ??$common_stat@U_stat64i32@@@@YAHQEB_WQEAU_stat64i32@@@Z ; +0xd4, 0x180129928 cmp [rbp+var_8], 0 ; +0xd9, 0x18012992d mov ebx, eax ; +0xdd, 0x180129931 jz short loc_18012993E ; +0xdf, 0x180129933 mov rcx, [rbp+Block]; Block ; +0xe1, 0x180129935 call _free_base ; +0xe5, 0x180129939 lea r11, [rsp+70h+var_s0] ; +0xea, 0x18012993e mov eax, ebx ; +0xef, 0x180129943 mov rbx, [r11+10h] ; +0xf1, 0x180129945 mov rdi, [r11+18h] ; +0xf5, 0x180129949 mov rsp, r11 ; +0xf9, 0x18012994d pop rbp ; +0xfc, 0x180129950 retn ; +0xfd, 0x180129951