Function at 0x44b240
Capabilities:
Write file on windows

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2d0
cmp qword [r8 + 0x118], 0xffffffffffffffff
mov r12, qword [rsp + 0x338]
mov r13, rcx
mov rsi, rdx
mov rbx, r8
mov r14, r9
je 0x44b8e0
mov rax, qword [rsp + 0x340]
lea rdi, [rsi + 0x40]
mov qword [rsi + 0x40], 0
mov dword [rsi + 8], 3
mov qword [rsi + 0x80], rbx
mov dword [rsi + 0x88], 0
mov qword [rsi + 0xa0], 0
mov qword [rsi + 0x70], rax
mov qword [rsi + 0xa8], 0xffffffffffffffff
mov qword [rdi + 8], 0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0
mov edx, dword [rbx + 0x110]
test edx, edx
je 0x44b48d
test byte [rbx + 0x5b], 1
jne 0x44b644
test r12, r12
mov dword [rsp + 0x40], 0
je 0x44b710
mov edx, dword [rbx + 0x1e0]
test edx, edx
je 0x44b7d2
lea r8, [rsp + 0x50]
mov rcx, r12
call fcn.004553f0
test eax, eax
mov ebp, eax
jne 0x44b562
mov eax, dword [r12 + 0x118]
mov edx, dword [rsp + 0x40]
mov dword [rsp + 0x2c4], eax
mov eax, edx
or eax, 2
test byte [r12 + 0x59], 0x10
mov dword [rsp + 0x40], eax
je 0x44b34c
mov eax, edx
or eax, 6
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x330], 1
je 0x44b730
test al, 1
je 0x44b71e
cmp dword [rbx + 0x138], 3
je 0x44ba12
lea r12, [rbx + 0x130]
lea rbp, [r12 + 0x40]
mov dword [r12 + 8], 3
mov qword [r12 + 0x40], 0
mov qword [r12 + 0x80], rbx
mov qword [r12 + 0x70], 0
mov dword [r12 + 0x88], 1
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov qword [rbp], 0
mov qword [rbp + 8], 0
mov edx, 1
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 0
call qword [sym.imp.KERNEL32.dll_CreateEventA]
test rax, rax
mov qword [r12 + 0x58], rax
je 0x44bab5
mov eax, dword [rsp + 0x40]
mov rcx, qword [rbx + 0x118]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x20], rbp
and eax, 2
cmp eax, 1
sbb eax, eax
xor r9d, r9d
and eax, 0xfffffd88
lea r8d, [rax + 0x288]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x44b7e4
mov rcx, qword [r12 + 0x58]
mov qword [r12 + 0x60], 0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r12 + 0x58], 0
mov eax, dword [rbx + 0x7c]
mov ecx, eax
lea edx, [rax + 1]
test ecx, ecx
mov eax, edx
mov dword [rbx + 0x7c], edx
jne 0x44b7ac
mov edx, dword [rbx + 0x58]
test dl, 1
jne 0x44b771
test dl, 0x40
je 0x44b799
nop dword [rax]
mov ebp, dword [rsp + 0x40]
add dword [r13 + 0x20], 1
add dword [rbx + 0x78], 1
add dword [rbx + 0x100], 1
and ebp, 1
je 0x44b562
mov eax, dword [rbx + 0x58]
mov edx, eax
and edx, 0x1200000
cmp edx, 0x1200000
je 0x44b820
test eax, 0x1000000
je 0x44b580
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
mov qword [rsi + 0x68], 0
mov qword [rsi + 0x90], rax
mov qword [rsi + 0x98], rdx
mov rax, qword [rbx + 0x208]
test rax, rax
je 0x44b990
mov rax, qword [rax + 0x68]
mov qword [rsi + 0x68], rax
mov rax, qword [rbx + 0x208]
mov qword [rax + 0x68], rsi
mov qword [rbx + 0x208], rsi
mov eax, dword [rbx + 0x100]
test eax, eax
je 0x44b8d1
mov eax, dword [r14]
mov qword [rsi + 0x60], rax
add qword [rbx + 0x60], rax
mov eax, dword [rbx + 0x7c]
mov ecx, eax
lea edx, [rax + 1]
test ecx, ecx
mov eax, edx
mov dword [rbx + 0x7c], edx
jne 0x44b548
mov edx, dword [rbx + 0x58]
test dl, 1
jne 0x44b744
test dl, 0x40
jne 0x44b550
mov ecx, edx
or ecx, 0x40
and edx, 0x20
mov dword [rbx + 0x58], ecx
je 0x44b546
mov rdx, qword [rbx + 8]
add dword [rdx + 8], 1
mov edx, eax
test edx, edx
jle 0x44b900
add dword [r13 + 0x20], 1
add dword [rbx + 0x78], 1
add dword [rbx + 0x100], 1
xor ebp, ebp
mov eax, ebp
add rsp, 0x2d0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
test eax, 0x200000
je 0x44b673
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov edx, 1
call qword [sym.imp.KERNEL32.dll_CreateEventA]
test rax, rax
mov qword [rsi + 0x58], rax
je 0x44bab5
mov rcx, qword [rbx + 0x118]
xor r9d, r9d
mov rdx, qword [r14 + 8]
mov qword [rsp + 0x20], rdi
mov r8d, dword [r14]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x44b9a0
mov qword [rsi + 0x60], 0
mov rcx, qword [rsi + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbx + 0x7c]
mov ecx, eax
lea edx, [rax + 1]
test ecx, ecx
mov eax, edx
mov dword [rbx + 0x7c], edx
jne 0x44b61e
mov edx, dword [rbx + 0x58]
test dl, 1
jne 0x44b940
test dl, 0x40
jne 0x44b550
mov ecx, edx
or ecx, 0x40
and edx, 0x20
mov dword [rbx + 0x58], ecx
je 0x44b61c
mov rdx, qword [rbx + 8]
add dword [rdx + 8], 1
mov edx, eax
test edx, edx
jg 0x44b550
lea rdx, str.src_win_pipe.c
lea rcx, [0x0051b6d0]
mov r8d, 0x59c
call fcn.00472160
jmp 0x44b550
lea rdx, str.src_win_pipe.c
lea rcx, str.__handle__flags__UV_HANDLE_NON_OVERLAPPED_PIPE_
mov r8d, 0x4f0
call fcn.00472160
test r12, r12
mov dword [rsp + 0x40], 0
jne 0x44b2fa
jmp 0x44b710
mov rcx, qword [rbx + 0x118]
xor r9d, r9d
mov rdx, qword [r14 + 8]
mov qword [rsp + 0x20], rdi
mov r8d, dword [r14]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x44b9f2
mov qword [rsi + 0x60], 0
test byte [rbx + 0x5a], 0x10
je 0x44b50f
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
test rax, rax
mov qword [rsi + 0xa0], rax
je 0x44bab5
mov rdx, qword [rsi + 0x58]
lea rcx, [rsi + 0xa8]
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0xffffffff
mov r9, rsi
lea r8, [0x0044ad50]
call qword [sym.imp.KERNEL32.dll_RegisterWaitForSingleObject]
test eax, eax
jne 0x44b50f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
jmp 0x44b562
cmp dword [rsp + 0x330], 1
je 0x44ba40
mov rbp, rdi
mov r12, rsi
jmp 0x44b3aa
or eax, 1
mov dword [rsp + 0x40], eax
mov eax, dword [r14]
mov qword [rsp + 0x48], rax
jmp 0x44b362
lea rdx, str.src_win_pipe.c
lea rcx, [0x0051b6a0]
mov r8d, 0x5c1
call fcn.00472160
mov edx, dword [rbx + 0x58]
test dl, 0x40
je 0x44b930
mov edx, dword [rbx + 0x7c]
jmp 0x44b548
lea rdx, str.src_win_pipe.c
lea rcx, [0x0051b6a0]
mov r8d, 0x54e
call fcn.00472160
mov edx, dword [rbx + 0x58]
test dl, 0x40
jne 0x44ba50
mov eax, dword [rbx + 0x7c]
mov ecx, edx
or ecx, 0x40
and edx, 0x20
mov dword [rbx + 0x58], ecx
jne 0x44b920
mov edx, eax
test edx, edx
jg 0x44b470
lea rdx, str.src_win_pipe.c
lea rcx, [0x0051b6d0]
mov r8d, 0x54e
call fcn.00472160
jmp 0x44b470
call fcn.0045e680
mov edx, eax
mov dword [rbx + 0x1e0], eax
jmp 0x44b308
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbp
cmp eax, 0x3e5
jne 0x44b80c
mov rcx, qword [r12 + 0x58]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x44b425
call rbp
mov rcx, qword [r12 + 0x58]
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x44b562
mov rcx, qword [rbx + 0x118]
mov rdx, qword [r14 + 8]
lea r9, [rsp + 0x3c]
mov qword [rsp + 0x20], 0
mov r8d, dword [r14]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x44b6fc
mov qword [rsi + 0x60], 0
mov eax, dword [rbx + 0x7c]
mov ecx, eax
lea edx, [rax + 1]
test ecx, ecx
mov eax, edx
mov dword [rbx + 0x7c], edx
jne 0x44b88b
mov edx, dword [rbx + 0x58]
test dl, 1
jne 0x44ba7c
test dl, 0x40
jne 0x44b893
mov ecx, edx
or ecx, 0x40
and edx, 0x20
mov dword [rbx + 0x58], ecx
je 0x44b889
mov rdx, qword [rbx + 8]
add dword [rdx + 8], 1
mov edx, eax
test edx, edx
jle 0x44b96d
add dword [r13 + 0x20], 1
xor r8d, r8d
xor edx, edx
add dword [rbx + 0x100], 1
mov r9, rdi
add dword [rbx + 0x78], 1
mov rcx, qword [r13 + 0x38]
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x44b560
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x0051b4d5]
mov ecx, eax
call fcn.00440240
mov rcx, rbx
call fcn.0044ae10
jmp 0x44b504
lea rdx, str.src_win_pipe.c
lea rcx, str.handle__handle___INVALID_HANDLE_VALUE
mov r8d, 0x4e5
call fcn.00472160
jmp 0x44b273
lea rdx, str.src_win_pipe.c
lea rcx, [0x0051b6d0]
mov r8d, 0x5c1
call fcn.00472160
jmp 0x44b550
mov rdx, qword [rbx + 8]
add dword [rdx + 8], 1
jmp 0x44b7aa
mov eax, dword [rbx + 0x7c]
jmp 0x44b531
lea rdx, str.src_win_pipe.c
lea rcx, [0x0051b6a0]
mov r8d, 0x59c
call fcn.00472160
mov edx, dword [rbx + 0x58]
test dl, 0x40
jne 0x44baa5
mov eax, dword [rbx + 0x7c]
jmp 0x44b607
lea rdx, str.src_win_pipe.c
lea rcx, [0x0051b6d0]
mov r8d, 0x56a
call fcn.00472160
jmp 0x44b893
mov qword [rsi + 0x68], rsi
mov qword [rbx + 0x208], rsi
jmp 0x44b4f6
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
call rdi
cmp eax, 0x3e5
jne 0x44ba60
mov eax, dword [r14]
mov edx, 0xffffffff
mov qword [rsi + 0x60], rax
add qword [rbx + 0x60], rax
mov rcx, qword [rsi + 0x58]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x44b5d7
call rdi
mov ebx, eax
mov rcx, qword [rsi + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, ebx
call fcn.00440300
mov ebp, eax
jmp 0x44b562
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
call rdi
cmp eax, 0x3e5
jne 0x44ba73
mov eax, dword [r14]
mov qword [rsi + 0x60], rax
add qword [rbx + 0x60], rax
jmp 0x44b69f
mov ecx, 0xb0
call fcn.0043d450
test rax, rax
mov r12, rax
jne 0x44b376
lea rdx, [0x0051b691]
mov ecx, 0xe
call fcn.00440240
nop dword [rax]
mov eax, 1
jmp 0x44b733
mov edx, dword [rbx + 0x7c]
jmp 0x44b7ac
call rdi
mov rcx, qword [rsi + 0x58]
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x44b562
call rdi
mov ebp, eax
jmp 0x44b562
lea rdx, str.src_win_pipe.c
lea rcx, [0x0051b6a0]
mov r8d, 0x56a
call fcn.00472160
mov edx, dword [rbx + 0x58]
test dl, 0x40
jne 0x44baad
mov eax, dword [rbx + 0x7c]
jmp 0x44b874
mov edx, dword [rbx + 0x7c]
jmp 0x44b61e
mov edx, dword [rbx + 0x7c]
jmp 0x44b88b
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x0051b56f]
mov ecx, eax
call fcn.00440240
nop
nop word [rax + rax]