Function at 0x140060700
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rdi
push r14
push r15
sub rsp, 0xe0
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x1401bbe90]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rdi, rcx
cmp byte [rcx + 0x78], 0
je 0x1400607dc
call fcn.140060b80
test al, al
jne 0x1400607dc
mov r10d, dword [0x1401c3d80]
lea ecx, [r10 + 2]
lea eax, [r10 + 1]
imul ecx, eax
imul ecx, r10d
and ecx, 0x8000000f
jge 0x140060775
dec ecx
or ecx, 0xfffffff0
inc ecx
cmp ecx, 0xf
jne 0x140060b43
xor esi, esi
mov eax, r10d
cdq
and edx, 3
lea r15d, [rdx + rax]
sar r15d, 2
lea r8, [rsp + 0x81]
mov r11d, 1
nop dword [rax]
movzx r9d, r10b
sub r9b, sil
mov ebx, r11d
mov edi, 6
nop
mov eax, r10d
cdq
idiv ebx
movzx eax, r15b
imul dl
movzx ecx, al
movzx eax, r9b
imul cl
inc ebx
add r8, 4
dec rdi
jne 0x1400607b0
inc esi
cmp esi, 3
jl 0x1400607a0
jmp 0x140060b43
lea r14, [rdi + 0xb0]
mov rax, qword [r14 + 8]
xor esi, esi
cmp qword [r14], rax
jne 0x14006091b
mov ecx, dword [0x1401c3d80]
mov r8d, ecx
imul r8d, ecx
imul r8d, ecx
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub r8d, edx
cmp r8d, 9
jne 0x140060896
test ecx, ecx
je 0x140060896
nop dword [rax + rax]
mov eax, ecx
and eax, 0x80000001
jge 0x140060840
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140060855
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov dword [0x1401c3d80], eax
jmp 0x140060862
lea ecx, [rcx*2 + 1]
mov dword [0x1401c3d80], ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
mov edx, ecx
sub edx, eax
je 0x140060884
sub edx, 2
je 0x140060887
dec edx
je 0x140060889
jmp 0x140060892
add ecx, 2
inc ecx
add ecx, 2
mov dword [0x1401c3d80], ecx
test ecx, ecx
jne 0x140060830
lea rax, [rdi + 0xd0]
mov qword [rsp + 0x38], rax
lea rbx, [rax + 8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
cmp qword [rdi + 0x120], 0
jne 0x1400608c8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x140060b43
lea rcx, [rdi + 0x100]
lea rdx, [rsp + 0x40]
call fcn.1400370f0
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x1400608e9
mov rax, rsi
jmp 0x1400608ec
mov rax, qword [rax]
mov rcx, qword [rax + 0x10]
dec rcx
and rcx, qword [rdx + 0x10]
mov rax, qword [rax + 8]
mov rdx, qword [rax + rcx*8]
add rdx, 8
mov rcx, r14
call fcn.140032210
mov qword [rdi + 0xc8], rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [rsp + 0x30], esi
mov rdx, qword [r14]
mov r8, qword [r14 + 8]
sub r8, rdx
lea rcx, [rdi + 0x80]
add rdx, qword [rdi + 0xc8]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x30]
mov rcx, qword [rdi + 0xa8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400609dd
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400609a8
cmp eax, 0x3e5
je 0x1400609a2
lea rax, str.Channel_write_failure
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.1400d0f48
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x40], rax
lea rdx, [0x140186920]
lea rcx, [rsp + 0x40]
call fcn.1400d5998
int3
mov byte [rdi + 0x78], 1
jmp 0x1400609dd
lea rcx, [rsp + 0x58]
call fcn.1400d0fc0
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x58], rax
lea rax, vtable.CRSimpleIPCExceptionDisconnected.0
mov qword [rsp + 0x58], rax
lea rdx, [0x1401868d8]
lea rcx, [rsp + 0x58]
call fcn.1400d5998
int3
cmp byte [rdi + 0x78], 0
jne 0x140060aff
mov r8d, dword [0x1401c3d80]
lea ecx, [r8 + 1]
imul ecx, r8d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub ecx, edx
cmp ecx, 0x10
jne 0x140060a40
mov r9d, esi
test r8d, r8d
je 0x140060a36
nop dword [rax]
mov ecx, r8d
and ecx, 1
add r9d, ecx
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
jne 0x140060a20
mov r8d, r9d
mov dword [0x1401c3d80], r9d
mov eax, dword [rsp + 0x30]
add qword [rdi + 0xc8], rax
mov bpl, 1
imul r8d, r8d
and r8d, 0x80000007
jge 0x140060a65
dec r8d
or r8d, 0xfffffff8
inc r8d
cmp r8d, 7
jne 0x140060a93
mov r11d, 1
mov eax, r11d
mov edx, 0xc4
nop dword [rax]
lea ecx, [rax + r11]
lea r11d, [rax]
mov eax, ecx
dec edx
jns 0x140060a80
mov dword [0x1401c3d80], ecx
mov rax, qword [r14 + 8]
sub rax, qword [r14]
cmp qword [rdi + 0xc8], rax
jne 0x140060aec
lea rax, [rdi + 0xd0]
mov qword [rsp + 0x38], rax
lea rbx, [rax + 8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
lea rcx, [rdi + 0x100]
call fcn.140060f70
mov rax, qword [r14]
mov qword [r14 + 8], rax
mov qword [rdi + 0xc8], rsi
cmp qword [rdi + 0x120], 0
setne bpl
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rdi + 0xa0]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
movzx eax, bpl
jmp 0x140060b45
mov ecx, dword [0x1401c3d80]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x66666667
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub r8d, eax
mov eax, dword [0x1401c560c]
mov ecx, 0x15ed1a19
cmp r8d, 2
cmove eax, ecx
mov dword [0x1401c560c], eax
xor al, al
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.1400cdac0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret