Function at 0x14005c7d0
Capabilities:
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0xe0], rbx
mov rax, qword [0x14014ee68]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov r13d, edx
mov r12, rcx
cmp edx, 0xffffffff
jne 0x14005c818
xor eax, eax
jmp 0x14005cd19
mov rdx, qword [rcx + 0x48]
cmp qword [rdx], 0
je 0x14005c851
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x60]
movsxd rcx, dword [r8]
add rcx, rdx
cmp rdx, rcx
jae 0x14005c851
dec dword [r8]
mov rdx, qword [r12 + 0x48]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], r13b
mov eax, r13d
jmp 0x14005cd19
mov rdx, qword [r12 + 0x88]
test rdx, rdx
jne 0x14005c866
or eax, 0xffffffff
jmp 0x14005cd19
cmp qword [r12 + 0x70], 0
jne 0x14005c888
movsx ecx, r13b
call fcn.1400ac99c
or rbp, 0xffffffffffffffff
cmp eax, ebp
cmovne ebp, r13d
mov eax, ebp
jmp 0x14005cd19
mov byte [rsp + 0x40], r13b
mov edx, send
mov qword [rsp + 0x80], rdx
mov byte [rsp + 0x68], 0
xor ecx, ecx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x78], 8
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
mov byte [rax + 8], cl
or rbp, 0xffffffffffffffff
xor r15d, r15d
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14005c8e8
mov rdi, rcx
test rcx, rcx
je 0x14005c914
jmp 0x14005c8ed
lea rdi, [rsp + 0x68]
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
cmp rax, rdi
ja 0x14005c914
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
add rax, r8
cmp rdi, rax
jbe 0x14005c92b
call fcn.14001efc4
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x60]
cmp rax, 0xfffffffffffffffc
je 0x14005c962
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
add rax, r8
cmp rdi, rax
jb 0x14005c962
call fcn.14001efc4
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
mov rsi, r8
cmp rdx, 0x10
jb 0x14005c975
mov rbx, rcx
test rcx, rcx
je 0x14005c9a1
jmp 0x14005c97a
lea rbx, [rsp + 0x68]
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
cmp rax, rbx
ja 0x14005c9a1
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
add rax, r8
cmp rbx, rax
jbe 0x14005c9b8
call fcn.14001efc4
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x60]
cmp rax, 0xfffffffffffffffc
je 0x14005c9dd
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
add rax, r8
cmp rbx, rax
jb 0x14005c9dd
call fcn.14001efc4
mov rcx, qword [r12 + 0x70]
mov r10, qword [rcx]
lea rax, [rdi + rsi]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x41]
lea r8, [rsp + 0x40]
lea rdx, [r12 + 0x7c]
call qword [r10 + 0x28]
test eax, eax
js 0x14005cd02
cmp eax, 1
jg 0x14005cccb
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x10
jb 0x14005ca48
mov rbx, rcx
test rcx, rcx
je 0x14005ca79
jmp 0x14005ca4d
lea rbx, [rsp + 0x68]
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
cmp rax, rbx
ja 0x14005ca79
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
mov r8, qword [rsp + 0x78]
add rax, r8
cmp rbx, rax
jbe 0x14005ca90
call fcn.14001efc4
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x60]
cmp rax, 0xfffffffffffffffc
je 0x14005cac7
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
add rax, r8
cmp rbx, rax
jb 0x14005cac7
call fcn.14001efc4
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x50]
sub rdi, rbx
je 0x14005cb80
cmp rdx, 0x10
jb 0x14005cae5
mov rbx, rcx
test rcx, rcx
je 0x14005cb11
jmp 0x14005caea
lea rbx, [rsp + 0x68]
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
cmp rax, rbx
ja 0x14005cb11
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
add rax, r8
cmp rbx, rax
jbe 0x14005cb28
call fcn.14001efc4
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x60]
cmp rax, 0xfffffffffffffffc
je 0x14005cb4d
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
add rax, r8
cmp rbx, rax
jb 0x14005cb4d
call fcn.14001efc4
mov r9, qword [r12 + 0x88]
mov r8, rdi
mov edx, 1
mov rcx, rbx
call fcn.1400acdf8
cmp rdi, rax
jne 0x14005cc93
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
mov byte [r12 + 0x79], 1
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x48], rax
jne 0x14005ccbb
test rdi, rdi
jne 0x14005c8d8
cmp r8, 0x20
jae 0x14005ccac
mov rax, rbp
sub rax, r8
cmp rax, 8
ja 0x14005cbcc
call fcn.14008c4b8
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
lea rbx, [r8 + 8]
cmp rbx, 0xfffffffffffffffe
jbe 0x14005cbed
call fcn.14008c4b8
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
cmp rdx, rbx
jae 0x14005cc13
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1400027f0
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
jmp 0x14005cc44
test rbx, rbx
jne 0x14005cc44
mov qword [rsp + 0x78], r15
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
mov byte [rax], r15b
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
jmp 0x14005c8d8
test rbx, rbx
je 0x14005c8d8
lea rax, [rsp + 0x68]
cmp rdx, 0x10
cmovae rax, rcx
xor ecx, ecx
mov qword [r8 + rax], rcx
mov qword [rsp + 0x78], rbx
lea rax, [rsp + 0x68]
cmp qword [rsp + 0x80], 0x10
cmovae rax, qword [rsp + 0x68]
mov byte [rbx + rax], cl
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
jmp 0x14005c8d8
cmp qword [rsp + 0x80], 0x10
jb 0x14005cca8
mov rcx, qword [rsp + 0x68]
call fcn.14000fdf8
mov eax, ebp
jmp 0x14005cd19
cmp rdx, 0x10
jb 0x14005ccb7
call fcn.14000fdf8
mov eax, ebp
jmp 0x14005cd19
cmp rdx, 0x10
jb 0x14005ccc6
call fcn.14000fdf8
mov eax, r13d
jmp 0x14005cd19
cmp eax, 3
jne 0x14005cd02
movsx ecx, byte [rsp + 0x40]
mov rdx, qword [r12 + 0x88]
call fcn.1400ac99c
cmp eax, 0xffffffff
cmovne ebp, r13d
cmp qword [rsp + 0x80], 0x10
jb 0x14005ccfe
mov rcx, qword [rsp + 0x68]
call fcn.14000fdf8
mov eax, ebp
jmp 0x14005cd19
cmp qword [rsp + 0x80], 0x10
jb 0x14005cd17
mov rcx, qword [rsp + 0x68]
call fcn.14000fdf8
mov eax, ebp
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.14001e7c0
mov rbx, qword [rsp + 0xe0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret