Function at 0x140011f20
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push r14
push r15
sub rsp, 0x50
mov rsi, r8
movsxd rbx, ecx
mov r15, rdx
call fcn.14003d440
mov dword [rax], 0
cmp ebx, 0xff
ja 0x14000c66f
lfence
lea r14, [0x140094380]
mov r14, qword [r14 + rbx*8]
test r14, r14
je 0x14000c66f
cmp dword [r14 + 0x84], 1
jne 0x14000c5be
mov r8, rsi
mov rdx, r15
mov rcx, r14
mov rbx, qword [rsp + 0x88]
add rsp, 0x50
pop r15
pop r14
pop rsi
jmp 0x140013250
mov qword [rsp + 0x80], r12
mov r12d, 0x19000
lfence
cmp rsi, r12
ja 0x14000c5fb
mov r8, rsi
mov rdx, r15
mov rcx, r14
mov r12, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
add rsp, 0x50
pop r15
pop r14
pop rsi
jmp 0x140011f20
mov qword [rsp + 0x70], rbp
xor eax, eax
mov qword [rsp + 0x78], rdi
mov ebx, 0xffffffff
xor edi, edi
xor ebp, ebp
movsxd rdx, ebp
mov r8, rsi
sub r8, rax
add rdx, r15
cmp r8, r12
mov rcx, r14
cmovae r8, r12
call 0x140011f20
cmp eax, 0xffffffff
je 0x14000c649
xor ecx, ecx
cmp ebx, 0xffffffff
cmovne ecx, ebx
add edi, r12d
add ebp, r12d
lea ebx, [rax + rcx]
movsxd rax, edi
cmp rax, rsi
jb 0x14000c610
mov rbp, qword [rsp + 0x70]
mov eax, ebx
mov rdi, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
add rsp, 0x50
pop r15
pop r14
pop rsi
ret
call fcn.14003d440
mov dword [rsp + 0x40], ebx
lea rdx, str.w32_write
mov qword [rsp + 0x38], rdx
lea rcx, str.C:__w1_scontribwin32win32compatw32fd.c
xor r9d, r9d
mov r8d, 0x22c
mov dword [rax], 9
lea rax, str._s_ERROR:_bad_fd:__d
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 7
call fcn.14001ae20
mov rbx, qword [rsp + 0x88]
mov eax, 0xffffffff
add rsp, 0x50
pop r15
pop r14
pop rsi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x50
cmp dword [rcx + 0x74], 0
mov rsi, r8
mov r14, rdx
mov rdi, rcx
je 0x140011f7a
mov eax, dword [rcx + 0x8c]
shr eax, 2
not eax
test al, 1
je 0x140011fa4
nop dword [rax + rax]
xor edx, edx
xor ecx, ecx
mov r8d, 0xffffffff
call fcn.140013980
cmp eax, 0xffffffff
je 0x140011faf
cmp dword [rdi + 0x74], 0
jne 0x140011f60
mov ebx, dword [rdi + 0x78]
test ebx, ebx
je 0x14001207b
cmp ebx, 0xe
jg 0x140011fc0
je 0x140011fb9
mov ecx, ebx
sub ecx, 1
je 0x140011fec
sub ecx, 1
je 0x140011fde
sub ecx, 1
je 0x140011fde
cmp ecx, 2
je 0x140011fd7
jmp 0x140011ff1
call fcn.14003d440
mov dword [rax], 0xb
mov eax, 0xffffffff
jmp 0x140012523
mov ebx, 0xc
jmp 0x140011ff1
cmp ebx, 0x32
je 0x140011fec
cmp ebx, 0x50
je 0x140011fe5
cmp ebx, 0x7b
je 0x140011fde
cmp ebx, 0x522
jne 0x140011ff1
mov ebx, 0xd
jmp 0x140011ff1
mov ebx, 2
jmp 0x140011ff1
mov ebx, setsockopt
jmp 0x140011ff1
mov ebx, 0x82
call fcn.14003d440
mov dword [rax], ebx
call fcn.14003d440
mov qword [rsp + 0x40], rdi
lea rdx, str.fileio_write
xor esi, esi
lea rcx, str.C:__w1_scontribwin32win32compat_fileio.c
xor r9d, r9d
mov r8d, 0x2e4
mov eax, dword [rax]
mov dword [rsp + 0x38], eax
lea rax, str.write___ERROR:_d_on_prior_unblocking_write__io:_p
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 7
call fcn.14001ae20
mov rcx, qword [rdi + 0x90]
mov dword [rdi + 0x78], esi
call qword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 3
jne 0x140011faf
call fcn.14003d440
cmp dword [rax], 0x6d
jne 0x140011faf
call fcn.14003d440
mov dword [rax], 0x20
mov eax, 0xffffffff
jmp 0x140012523
mov rax, qword [rdi + 0x60]
test rax, rax
jne 0x1400120fa
mov ecx, 0x19000
call fcn.14003d014
mov qword [rdi + 0x60], rax
test rax, rax
jne 0x1400120f3
call fcn.14003d440
mov dword [rax], 0xc
call fcn.14003d440
mov qword [rsp + 0x40], rdi
xor esi, esi
mov r8d, 0x2f1
mov eax, dword [rax]
mov dword [rsp + 0x38], eax
lea rax, str.write___ERROR:_d__io:_p
mov qword [rsp + 0x30], rax
lea rdx, str.fileio_write
mov qword [rsp + 0x28], rsi
lea rcx, str.C:__w1_scontribwin32win32compat_fileio.c
xor r9d, r9d
mov dword [rsp + 0x20], 7
call fcn.14001ae20
mov eax, 0xffffffff
jmp 0x140012523
mov dword [rdi + 0x68], 0x19000
mov ebp, dword [rdi + 0x68]
cmp esi, ebp
cmovb ebp, esi
movsxd rbx, ebp
test ebp, ebp
je 0x140012144
test rax, rax
jne 0x140012124
call fcn.14003d440
mov ebx, socket
mov dword [rax], ebx
call fcn.1400354bc
jmp 0x14001220a
test r14, r14
je 0x1400121d7
cmp rsi, rbx
jb 0x1400121d7
mov r8, rbx
mov rdx, r14
mov rcx, rax
call fcn.14004fc40
xor esi, esi
cmp dword [rdi + 0x84], 3
je 0x140012310
mov rcx, qword [rdi + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 2
je 0x140012310
mov rdx, qword [rdi + 0x60]
lea rax, [0x140011e90]
mov rcx, qword [rdi + 0x90]
lea r9, [rdi + 0x20]
mov r8d, ebp
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteFileEx]
test eax, eax
jne 0x1400123f9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp eax, 0xe
jg 0x140012256
je 0x14001224f
mov ecx, eax
sub ecx, 1
je 0x140012281
sub ecx, 1
je 0x140012273
sub ecx, 1
je 0x140012273
cmp ecx, 2
je 0x14001226c
jmp 0x140012286
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.14004f880
test r14, r14
je 0x14001210e
cmp rsi, rbx
jae 0x140012205
call fcn.14003d440
mov ebx, 0x22
mov dword [rax], ebx
call fcn.1400354bc
jmp 0x14001220a
mov ebx, socket
mov dword [rsp + 0x38], ebx
lea rax, str.memcpy_s_failed_with_error:__d.
mov qword [rsp + 0x30], rax
lea rdx, str.fileio_write
xor esi, esi
lea rcx, str.C:__w1_scontribwin32win32compat_fileio.c
mov qword [rsp + 0x28], rsi
xor r9d, r9d
mov r8d, 0x2f9
mov dword [rsp + 0x20], 7
call fcn.14001ae20
mov eax, 0xffffffff
jmp 0x140012523
mov ebx, 0xc
jmp 0x140012286
cmp eax, 0x32
je 0x140012281
cmp eax, 0x50
je 0x14001227a
cmp eax, 0x7b
je 0x140012273
cmp eax, 0x522
jne 0x140012286
mov ebx, 0xd
jmp 0x140012286
mov ebx, 2
jmp 0x140012286
mov ebx, setsockopt
jmp 0x140012286
mov ebx, 0x82
call fcn.14003d440
mov dword [rax], ebx
mov rcx, qword [rdi + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 3
jne 0x1400122ee
call fcn.14003d440
cmp dword [rax], 0x6d
jne 0x1400122ee
mov qword [rsp + 0x38], rdi
lea rax, str.write___ERROR:read_end_of_the_pipe_closed__io:_p
mov qword [rsp + 0x30], rax
lea rdx, str.fileio_write
mov qword [rsp + 0x28], rsi
lea rcx, str.C:__w1_scontribwin32win32compat_fileio.c
xor r9d, r9d
mov dword [rsp + 0x20], 7
mov r8d, 0x30c
call fcn.14001ae20
call fcn.14003d440
mov dword [rax], 0x20
call fcn.14003d440
mov qword [rsp + 0x40], rdi
mov r8d, 0x30f
mov eax, dword [rax]
mov dword [rsp + 0x38], eax
lea rax, str.write_ERROR_from_cb_2_:_d__io:_p
jmp 0x1400120c1
mov qword [rdi + 0xa8], rsi
lea r8, [0x1400145b0]
mov qword [rsp + 0x28], rsi
mov r9, rdi
xor edx, edx
mov dword [rdi + 0xa4], ebp
xor ecx, ecx
mov dword [rsp + 0x20], esi
call fcn.140040c88
test rax, rax
jne 0x1400123f5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp eax, 0xe
jg 0x140012370
je 0x140012369
mov ecx, eax
sub ecx, 1
je 0x14001239b
sub ecx, 1
je 0x14001238d
sub ecx, 1
je 0x14001238d
cmp ecx, 2
je 0x140012386
jmp 0x1400123a0
mov ebx, 0xc
jmp 0x1400123a0
cmp eax, 0x32
je 0x14001239b
cmp eax, 0x50
je 0x140012394
cmp eax, 0x7b
je 0x14001238d
cmp eax, 0x522
jne 0x1400123a0
mov ebx, 0xd
jmp 0x1400123a0
mov ebx, 2
jmp 0x1400123a0
mov ebx, setsockopt
jmp 0x1400123a0
mov ebx, 0x82
call fcn.14003d440
mov dword [rax], ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x40], rdi
lea rdx, str.syncio_initiate_write
mov dword [rsp + 0x38], eax
lea rcx, str.C:__w1_scontribwin32win32compat_termio.c
lea rax, str.syncio_initiate_write_initiate___ERROR__beginthreadex__d__io:_p
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov r8d, 0xf6
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 7
call fcn.14001ae20
mov eax, 0xffffffff
jmp 0x140012523
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x74], 1
mov dword [rdi + 0x6c], ebp
mov eax, dword [rdi + 0x8c]
shr eax, 2
not eax
test al, 1
je 0x140012457
nop dword [rax]
nop word [rax + rax]
xor edx, edx
xor ecx, ecx
mov r8d, 0xffffffff
call fcn.140013980
cmp eax, 0xffffffff
jne 0x140012452
call fcn.14003d440
cmp dword [rax], 4
jne 0x140011faf
cmp dword [rdi + 0x74], esi
jne 0x140011faf
call fcn.14003d440
mov dword [rax], esi
cmp dword [rdi + 0x74], esi
jne 0x140012420
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SleepEx]
cmp dword [rdi + 0x74], esi
jne 0x140012521
mov ebx, dword [rdi + 0x78]
test ebx, ebx
je 0x140012521
cmp ebx, 0xe
jg 0x14001249e
je 0x140012497
mov ecx, ebx
sub ecx, 1
je 0x1400124ca
sub ecx, 1
je 0x1400124bc
sub ecx, 1
je 0x1400124bc
cmp ecx, 2
je 0x1400124b5
jmp 0x1400124cf
mov ebx, 0xc
jmp 0x1400124cf
cmp ebx, 0x32
je 0x1400124ca
cmp ebx, 0x50
je 0x1400124c3
cmp ebx, 0x7b
je 0x1400124bc
cmp ebx, 0x522
jne 0x1400124cf
mov ebx, 0xd
jmp 0x1400124cf
mov ebx, 2
jmp 0x1400124cf
mov ebx, setsockopt
jmp 0x1400124cf
mov ebx, 0x82
call fcn.14003d440
mov qword [rsp + 0x40], rdi
lea rdx, str.fileio_write
xor r9d, r9d
lea rcx, str.C:__w1_scontribwin32win32compat_fileio.c
mov r8d, 0x325
mov dword [rax], ebx
mov eax, dword [rdi + 0x78]
mov dword [rsp + 0x38], eax
lea rax, str.write___ERROR_from_cb:_d__io:_p
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 7
call fcn.14001ae20
mov eax, 0xffffffff
mov dword [rdi + 0x78], esi
jmp 0x140012523
mov eax, ebp
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x50
pop r14
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x60
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
test rdx, rdx
je 0x140013542
test rbx, rbx
je 0x140013542
cmp dword [rcx + 0x74], 0
mov qword [rsp + 0x70], rbp
je 0x1400132ba
mov eax, dword [rcx + 0x8c]
shr eax, 2
not eax
test al, 1
je 0x1400132f3
nop dword [rax]
nop dword [rax + rax]
xor edx, edx
xor ecx, ecx
mov r8d, 0xffffffff
call fcn.140013980
cmp eax, 0xffffffff
je 0x1400132fe
cmp dword [rdi + 0x74], 0
jne 0x1400132a0
mov ebp, dword [rdi + 0x78]
test ebp, ebp
je 0x14001331b
call fcn.14003d440
mov ecx, ebp
mov r9, rax
call fcn.140012770
mov dword [r9], eax
xor esi, esi
mov eax, dword [rdi + 0x78]
mov r8d, 0x229
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], eax
lea rax, str.ERROR:_d__io:_p
jmp 0x140013515
call fcn.14003d440
mov dword [rax], 0xb
mov eax, 0xffffffff
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
mov rax, qword [rdi + 0x60]
mov ecx, 0x11800
mov dword [rsp + 0x50], ecx
test rax, rax
jne 0x140013378
call fcn.14003d014
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x14001336b
call fcn.14003d440
mov dword [rax], 0xc
call fcn.14003d440
mov qword [rsp + 0x40], rdi
xor esi, esi
mov r8d, 0x233
mov eax, dword [rax]
mov dword [rsp + 0x38], eax
lea rax, str.send___ERROR:_d__io:_p
jmp 0x140013515
mov ecx, dword [rsp + 0x50]
mov dword [rdi + 0x68], ecx
mov qword [rdi + 0x60], rax
jmp 0x14001337d
mov qword [rsp + 0x58], rax
cmp ecx, ebx
cmovb ebx, ecx
mov r8d, ebx
mov dword [rsp + 0x50], r8d
test ebx, ebx
je 0x1400133ca
test rax, rax
jne 0x1400133bf
call fcn.14003d440
mov dword [rax], socket
call fcn.1400354bc
lea rax, str.memcpy_s_failed_with_error:__d.
mov dword [rsp + 0x38], socket
xor esi, esi
mov r8d, 0x23e
jmp 0x14001344a
mov rdx, rsi
mov rcx, rax
call fcn.14004fc40
lea rcx, [0x1400131d0]
xor esi, esi
mov qword [rsp + 0x30], rcx
lea rax, [rdi + 0x20]
mov rcx, qword [rdi + 0x90]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov r8d, 1
mov dword [rsp + 0x20], esi
call qword [sym.imp.WS2_32.dll_WSASend]
test eax, eax
jne 0x140013477
mov eax, dword [rsp + 0x50]
mov edx, 1
xor ecx, ecx
mov dword [rdi + 0x6c], eax
mov dword [rdi + 0x74], 1
call qword [sym.imp.KERNEL32.dll_SleepEx]
cmp dword [rdi + 0x74], esi
jne 0x14001342d
cmp dword [rdi + 0x6c], esi
je 0x1400134d8
call fcn.14003d440
mov qword [rsp + 0x38], rdi
mov r8d, 0x24c
mov dword [rax], 0x83
lea rax, str.send___ERROR:_Unexpected_IO_state__io:_p
mov qword [rsp + 0x30], rax
lea rdx, str.socketio_send
mov qword [rsp + 0x28], rsi
lea rcx, str.C:__w1_scontribwin32win32compat_socketio.c
xor r9d, r9d
mov dword [rsp + 0x20], 7
call fcn.14001ae20
jmp 0x1400132fe
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
jne 0x1400134e3
mov eax, dword [rdi + 0x8c]
mov ecx, dword [rsp + 0x50]
shr eax, 2
not eax
mov dword [rdi + 0x74], 1
mov dword [rdi + 0x6c], ecx
test al, 1
je 0x1400134dc
xor edx, edx
xor ecx, ecx
mov r8d, 0xffffffff
call fcn.140013980
cmp eax, 0xffffffff
jne 0x1400134d3
call fcn.14003d440
cmp dword [rax], 4
jne 0x1400132fe
cmp dword [rdi + 0x74], esi
jne 0x1400132fe
call fcn.14003d440
mov dword [rax], esi
cmp dword [rdi + 0x74], esi
jne 0x1400134a1
mov ecx, dword [rsp + 0x50]
mov eax, ecx
jmp 0x140013303
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.140012770
mov ebx, eax
call fcn.14003d440
mov dword [rax], ebx
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov qword [rsp + 0x40], rdi
mov r8d, 0x268
mov dword [rsp + 0x38], eax
lea rax, str.send___WSASend___ERROR:_d__io:_p
mov qword [rsp + 0x30], rax
lea rdx, str.socketio_send
mov qword [rsp + 0x28], rsi
lea rcx, str.C:__w1_scontribwin32win32compat_socketio.c
xor r9d, r9d
mov dword [rsp + 0x20], 7
call fcn.14001ae20
jmp 0x1400132fe
call fcn.14003d440
mov qword [rsp + 0x48], rdi
lea rdx, str.socketio_send
mov qword [rsp + 0x40], rbx
lea rcx, str.C:__w1_scontribwin32win32compat_socketio.c
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov dword [rax], socket
xor esi, esi
lea rax, str.send___ERROR_invalid_arguments__buf:_p__len:_d__io:_p
mov r8d, 0x20e
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 7
call fcn.14001ae20
mov rbx, qword [rsp + 0x78]
mov eax, 0xffffffff
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret