; ; initialize_stdio_handles_nolock from 0x180136718 to 0x180136824 (268 bytes) ; ; 2 xrefs: ; > __acrt_initialize_lowio @ 0x180136846 ; > @ 0x180203524 ; ; 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 rax, rsp ; +0x0, 0x180136718 mov [rax+8], rbx ; +0x3, 0x18013671b mov [rax+10h], rbp ; +0x7, 0x18013671f mov [rax+18h], rsi ; +0xb, 0x180136723 mov [rax+20h], rdi ; +0xf, 0x180136727 push r14 ; +0x13, 0x18013672b sub rsp, 20h ; +0x15, 0x18013672d xor esi, esi ; +0x19, 0x180136731 xor r14d, r14d ; +0x1b, 0x180136733 movsxd rcx, esi ; +0x1e, 0x180136736 lea rdi, qword_1801F5160 ; +0x21, 0x180136739 mov rax, rcx ; +0x28, 0x180136740 and ecx, 3Fh ; +0x2b, 0x180136743 sar rax, 6 ; +0x2e, 0x180136746 lea rbx, [rcx+rcx*8] ; +0x32, 0x18013674a mov rdi, [rdi+rax*8] ; +0x36, 0x18013674e mov rax, [rdi+rbx*8+28h] ; +0x3a, 0x180136752 add rax, 2 ; +0x3f, 0x180136757 cmp rax, 1 ; +0x43, 0x18013675b jbe short loc_18013676B ; +0x47, 0x18013675f or byte ptr [rdi+rbx*8+38h], 80h ; +0x49, 0x180136761 jmp loc_1801367FA ; +0x4e, 0x180136766 mov byte ptr [rdi+rbx*8+38h], 81h ; +0x53, 0x18013676b mov ecx, esi ; +0x58, 0x180136770 test esi, esi ; +0x5a, 0x180136772 jz short loc_18013678C ; +0x5c, 0x180136774 sub ecx, 1 ; +0x5e, 0x180136776 jz short loc_180136785 ; +0x61, 0x180136779 cmp ecx, 1 ; +0x63, 0x18013677b mov ecx, 0FFFFFFF4h ; +0x66, 0x18013677e jmp short loc_180136791 ; +0x6b, 0x180136783 mov ecx, 0FFFFFFF5h ; +0x6d, 0x180136785 jmp short loc_180136791 ; +0x72, 0x18013678a mov ecx, 0FFFFFFF6h; nStdHandle ; +0x74, 0x18013678c call cs:GetStdHandle ; +0x79, 0x180136791 mov rbp, rax ; +0x7f, 0x180136797 lea rcx, [rax+1] ; +0x82, 0x18013679a cmp rcx, 1 ; +0x86, 0x18013679e jbe short loc_1801367AF ; +0x8a, 0x1801367a2 mov rcx, rax; hFile ; +0x8c, 0x1801367a4 call cs:GetFileType ; +0x8f, 0x1801367a7 jmp short loc_1801367B1 ; +0x95, 0x1801367ad xor eax, eax ; +0x97, 0x1801367af test eax, eax ; +0x99, 0x1801367b1 jz short loc_1801367D5 ; +0x9b, 0x1801367b3 movzx ecx, al ; +0x9d, 0x1801367b5 mov [rdi+rbx*8+28h], rbp ; +0xa0, 0x1801367b8 cmp ecx, 2 ; +0xa5, 0x1801367bd jnz short loc_1801367C9 ; +0xa8, 0x1801367c0 or byte ptr [rdi+rbx*8+38h], 40h ; +0xaa, 0x1801367c2 jmp short loc_1801367FA ; +0xaf, 0x1801367c7 cmp ecx, 3 ; +0xb1, 0x1801367c9 jnz short loc_1801367FA ; +0xb4, 0x1801367cc or byte ptr [rdi+rbx*8+38h], 8 ; +0xb6, 0x1801367ce jmp short loc_1801367FA ; +0xbb, 0x1801367d3 or byte ptr [rdi+rbx*8+38h], 40h ; +0xbd, 0x1801367d5 mov qword ptr [rdi+rbx*8+28h], 0FFFFFFFFFFFFFFFEh ; +0xc2, 0x1801367da mov rax, cs:Block ; +0xcb, 0x1801367e3 test rax, rax ; +0xd2, 0x1801367ea jz short loc_1801367FA ; +0xd5, 0x1801367ed mov rax, [r14+rax] ; +0xd7, 0x1801367ef mov dword ptr [rax+18h], 0FFFFFFFEh ; +0xdb, 0x1801367f3 inc esi ; +0xe2, 0x1801367fa add r14, 8 ; +0xe4, 0x1801367fc cmp esi, 3 ; +0xe8, 0x180136800 jnz loc_180136736 ; +0xeb, 0x180136803 mov rbx, [rsp+28h+arg_0] ; +0xf1, 0x180136809 mov rbp, [rsp+28h+arg_8] ; +0xf6, 0x18013680e mov rsi, [rsp+28h+arg_10] ; +0xfb, 0x180136813 mov rdi, [rsp+28h+arg_18] ; +0x100, 0x180136818 add rsp, 20h ; +0x105, 0x18013681d pop r14 ; +0x109, 0x180136821 retn ; +0x10b, 0x180136823