; ; _write from 0x180140260 to 0x18014034b (235 bytes) ; ; 7 xrefs: ; > __acrt_stdio_flush_nolock @ 0x1801389d2 ; > write_buffer_nolock @ 0x18013f4f9 ; > write_buffer_nolock @ 0x18013f571 ; > write_buffer_nolock @ 0x18013f5df ; > write_buffer_nolock @ 0x18013f659 ; > @ 0x180203bfc ; > @ 0x180203c08 ; ; 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_8], rbx ; +0x0, 0x180140260 mov [rsp+arg_10], rsi ; +0x5, 0x180140265 mov [rsp+arg_0], ecx ; +0xa, 0x18014026a push rdi ; +0xe, 0x18014026e push r12 ; +0xf, 0x18014026f push r13 ; +0x11, 0x180140271 push r14 ; +0x13, 0x180140273 push r15 ; +0x15, 0x180140275 sub rsp, 20h ; +0x17, 0x180140277 mov r14d, r8d ; +0x1b, 0x18014027b mov r15, rdx ; +0x1e, 0x18014027e movsxd rbx, ecx ; +0x21, 0x180140281 cmp ebx, 0FFFFFFFEh ; +0x24, 0x180140284 jnz short loc_1801402A1 ; +0x27, 0x180140287 call __doserrno ; +0x29, 0x180140289 and dword ptr [rax], 0 ; +0x2e, 0x18014028e call _errno ; +0x31, 0x180140291 mov dword ptr [rax], 9 ; +0x36, 0x180140296 jmp loc_180140330 ; +0x3c, 0x18014029c test ecx, ecx ; +0x41, 0x1801402a1 js short loc_180140318 ; +0x43, 0x1801402a3 cmp ebx, cs:dword_1801F5560 ; +0x45, 0x1801402a5 jnb short loc_180140318 ; +0x4b, 0x1801402ab mov rax, rbx ; +0x4d, 0x1801402ad mov rsi, rbx ; +0x50, 0x1801402b0 sar rsi, 6 ; +0x53, 0x1801402b3 lea r13, qword_1801F5160 ; +0x57, 0x1801402b7 and eax, 3Fh ; +0x5e, 0x1801402be lea r12, [rax+rax*8] ; +0x61, 0x1801402c1 mov rax, [r13+rsi*8+0] ; +0x65, 0x1801402c5 test byte ptr [rax+r12*8+38h], 1 ; +0x6a, 0x1801402ca jz short loc_180140318 ; +0x70, 0x1801402d0 mov ecx, ebx ; +0x72, 0x1801402d2 call sub_180136164 ; +0x74, 0x1801402d4 or edi, 0FFFFFFFFh ; +0x79, 0x1801402d9 mov rax, [r13+rsi*8+0] ; +0x7c, 0x1801402dc test byte ptr [rax+r12*8+38h], 1 ; +0x81, 0x1801402e1 jnz short loc_1801402FE ; +0x87, 0x1801402e7 call _errno ; +0x89, 0x1801402e9 mov dword ptr [rax], 9 ; +0x8e, 0x1801402ee call __doserrno ; +0x94, 0x1801402f4 and dword ptr [rax], 0 ; +0x99, 0x1801402f9 jmp short loc_18014030D ; +0x9c, 0x1801402fc mov r8d, r14d ; +0x9e, 0x1801402fe mov rdx, r15 ; +0xa1, 0x180140301 mov ecx, ebx ; +0xa4, 0x180140304 call _write_nolock ; +0xa6, 0x180140306 mov edi, eax ; +0xab, 0x18014030b mov ecx, ebx ; +0xad, 0x18014030d call sub_18013618C ; +0xaf, 0x18014030f mov eax, edi ; +0xb4, 0x180140314 jmp short loc_180140333 ; +0xb6, 0x180140316 call __doserrno ; +0xb8, 0x180140318 and dword ptr [rax], 0 ; +0xbd, 0x18014031d call _errno ; +0xc0, 0x180140320 mov dword ptr [rax], 9 ; +0xc5, 0x180140325 call _invalid_parameter_noinfo ; +0xcb, 0x18014032b or eax, 0FFFFFFFFh ; +0xd0, 0x180140330 mov rbx, [rsp+48h+arg_8] ; +0xd3, 0x180140333 mov rsi, [rsp+48h+arg_10] ; +0xd8, 0x180140338 add rsp, 20h ; +0xdd, 0x18014033d pop r15 ; +0xe1, 0x180140341 pop r14 ; +0xe3, 0x180140343 pop r13 ; +0xe5, 0x180140345 pop r12 ; +0xe7, 0x180140347 pop rdi ; +0xe9, 0x180140349 retn ; +0xea, 0x18014034a