Function at 0x1400070a0
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x60
mov dword [rsp + 0x30], 1
xor r8d, r8d
lea rdx, [0x14000a960]
lea rcx, [0x14000f9b0]
call fcn.1400058d0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r8d, eax
lea rdx, str._RunWorkerThread__IOCP_thread_start__d
lea rcx, [0x14000f9b0]
call fcn.140005a30
cmp dword [rsp + 0x30], 1
jne 0x140007410
mov dword [rsp + 0x54], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x20], 0xffffffff
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x54]
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 0xb8]
call qword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 1
je 0x140007195
cmp qword [rsp + 0x48], 0
je 0x140007195
mov rcx, qword [rsp + 0x70]
add rcx, 0x78
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rsp + 0x48]
add rcx, 0x20
call fcn.140007f20
mov rcx, qword [rsp + 0x70]
add rcx, 0x78
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
call fcn.140007050
jmp 0x1400070e4
cmp dword [rsp + 0x58], 1
jne 0x1400071a8
cmp dword [rsp + 0x48], 0
jne 0x1400071a8
jmp 0x140007410
cmp dword [rsp + 0x58], 1
jne 0x140007331
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x30], 1
jne 0x140007331
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x2e0]
cmp dword [rsp + 0x54], eax
jne 0x1400072ea
mov r9, qword [rsp + 0x48]
add r9, 0x40
mov r8, qword [rsp + 0x48]
add r8, 0x2050
mov rdx, qword [rsp + 0x48]
add rdx, 0x50
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 0xc8]
mov rax, qword [rsp + 0x70]
call qword [rax + 0xc0]
cmp eax, 1
jne 0x1400072ea
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x40], 0
je 0x14000727a
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x30], 0
mov rdx, qword [rsp + 0x48]
add rdx, 0x2050
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax + 0x40]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x38]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rsp + 0x50], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x140007278
mov dword [rsp + 0x50], 1
jmp 0x1400072ea
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x30], 1
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x2e0]
mov rdi, qword [rsp + 0x48]
add rdi, 0x50
xor eax, eax
rep stosb byte [rdi], al
mov rdx, qword [rsp + 0x48]
add rdx, 0x50
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov rax, qword [rsp + 0x70]
mov r8d, dword [rax + 0x2e0]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x38]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [rsp + 0x50], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x1400072ea
mov dword [rsp + 0x50], 1
cmp dword [rsp + 0x50], 1
je 0x14000732c
mov rcx, qword [rsp + 0x70]
add rcx, 0x78
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rsp + 0x48]
add rcx, 0x20
call fcn.140007f20
mov rcx, qword [rsp + 0x70]
add rcx, 0x78
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
call fcn.140007050
jmp 0x14000740b
cmp dword [rsp + 0x58], 1
jne 0x14000740b
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x30], 1
je 0x14000740b
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x40]
cmp dword [rsp + 0x54], eax
jne 0x1400073c9
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x30], 1
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x2e0]
mov rdi, qword [rsp + 0x48]
add rdi, 0x50
xor eax, eax
rep stosb byte [rdi], al
mov rdx, qword [rsp + 0x48]
add rdx, 0x50
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov rax, qword [rsp + 0x70]
mov r8d, dword [rax + 0x2e0]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x38]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [rsp + 0x50], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x1400073c9
mov dword [rsp + 0x50], 1
cmp dword [rsp + 0x50], 1
je 0x14000740b
mov rcx, qword [rsp + 0x70]
add rcx, 0x78
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rsp + 0x48]
add rcx, 0x20
call fcn.140007f20
mov rcx, qword [rsp + 0x70]
add rcx, 0x78
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
call fcn.140007050
jmp 0x1400070e4
xor r8d, r8d
lea rdx, [0x14000a9e0]
lea rcx, [0x14000f9b0]
call fcn.1400058d0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r8d, eax
lea rdx, str._RunWorkerThread__IOCP_thread_stop__d
lea rcx, [0x14000f9b0]
call fcn.140005a30
mov rax, qword [rsp + 0x70]
add rax, 0xb0
lock add dword [rax], 0xffffffff
xor ecx, ecx
call qword [sym.imp.MSVCR90.dll__endthreadex]
xor eax, eax
add rsp, 0x60
pop rdi
ret