Function at 0x1400068f0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4a8
mov rsi, rcx
mov rax, qword [0x140131028]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
movabs r13, 0x7fffffffffffffef
lea rax, [0x1401150e8]
mov qword [rcx], rax
mov eax, dword [rcx + 0x78]
test al, 0x10
je 0x140006ea6
mov rax, qword [rsi + 0x48]
mov rdi, qword [rsi + 0x70]
cmp rdi, rax
jae 0x14000694b
mov qword [rsi + 0x70], rax
mov rdi, rax
mov rbx, qword [rsi + 0x40]
sub rdi, rbx
js 0x140006e82
cmp rdi, r13
ja 0x140006e85
cmp rdi, 0x16
ja 0x140006c5d
lea rcx, [rsp + 0xa0]
mov byte [rcx + 0x17], dil
lea r15, [rcx + rdi]
cmp rcx, rbx
ja 0x140006989
cmp r15, rbx
ja 0x140006e8e
test rdi, rdi
je 0x140006999
mov rdx, rbx
mov r8, rdi
call fcn.1400986f0
lea r14, [rsi + 0x10]
lea rdi, [rsi + 0x18]
mov byte [r15], 0
movzx r12d, byte [rsp + 0xb7]
test r12b, r12b
jns 0x1400069bb
mov r12, qword [rsp + 0xa8]
jns 0x1400069ca
mov rcx, qword [rsp + 0xa0]
call fcn.140094ae4
mov rax, qword [r14]
movsxd rax, dword [rax + 4]
mov rax, qword [r14 + rax + 0x30]
lea rbx, [rsp + 0xa0]
mov qword [rbx], rax
lock inc dword [rax + 8]
lea rdx, [0x140148258]
mov rcx, rbx
call fcn.14008b750
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x140154008]
mov ebp, eax
mov rcx, qword [rbx]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
test eax, eax
je 0x140006e91
mov rcx, r14
mov edx, ebp
call fcn.1400072c0
mov rcx, r14
call fcn.1400071a0
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rbp
movaps xmm0, xmmword [0x140115d80]
movaps xmmword [rsp + 0x70], xmm0
mov eax, dword [rsi + 0x78]
test al, 0x10
mov qword [rsp + 0x30], r12
je 0x140006cde
mov rax, qword [rsi + 0x48]
mov r14, qword [rsi + 0x70]
cmp r14, rax
jae 0x140006a74
mov qword [rsi + 0x70], rax
mov r14, rax
mov r15, qword [rsi + 0x40]
sub r14, r15
js 0x140006e88
cmp r14, r13
ja 0x140006e8b
cmp r14, 0x16
ja 0x140006c2a
lea rcx, [rsp + 0x70]
mov byte [rcx + 0x17], r14b
lea r12, [rcx + r14]
cmp rcx, r15
ja 0x140006aaf
cmp r12, r15
ja 0x140006ea3
test r14, r14
je 0x140006abf
mov rdx, r15
mov r8, r14
call fcn.1400986f0
mov byte [r12], 0
mov r8, qword [rsi + 0x118]
mov qword [rsp + 0x20], rbx
lea r15, [rsp + 0x58]
lea r14, [rsp + 0x70]
mov rcx, r15
mov rdx, r14
mov r9, 0xffffffffffffffff
call fcn.1400132a0
mov eax, dword [rsi + 0x128]
mov rcx, qword [rsi + 0x120]
mov dword [rsp + 0x9c], eax
mov qword [rsp + 0x90], rcx
test byte [0x14013f530], 0x19
jne 0x140006d05
cmp byte [rsp + 0x6f], 0
jns 0x140006b26
mov rcx, qword [rsp + 0x58]
call fcn.140094ae4
mov eax, dword [rsi + 8]
cmp eax, 3
je 0x140006f04
cmp eax, 2
jge 0x140006c96
call fcn.1400c8330
test al, al
je 0x140006b84
lea r9, [rsp + 0xa0]
mov dword [r9], 0xaaaaaaaa
lea rdx, [rsp + 0x70]
movzx eax, byte [rdx + 0x17]
mov r8d, eax
and r8d, 0x7f
test al, al
cmovs r8d, dword [rdx + 8]
cmovs rdx, qword [rdx]
mov rcx, qword [0x1401494b0]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rsi + 8], 3
je 0x140006d32
cmp byte [rsp + 0x87], 0
jns 0x140006ba2
mov rcx, qword [rsp + 0x70]
call fcn.140094ae4
mov ecx, dword [rsi + 0x130]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ebx, dword [rsi + 0x12c]
call fcn.140094b28
mov dword [rax], ebx
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x140114bd8]
mov qword [rsi + rax + 0x10], rcx
lea rax, [0x140114cd0]
mov qword [rsi + 0x18], rax
cmp byte [rsi + 0x6f], 0
jns 0x140006be9
mov rcx, qword [rsi + 0x58]
call fcn.140094ae4
sub rsi, 0xffffffffffffff80
mov rcx, rdi
call fcn.140069cd0
mov rcx, rdi
call fcn.14005ae20
mov rcx, rsi
call fcn.140068c20
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.140096c60
nop
add rsp, 0x4a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12, r14
or r12, 0xf
inc r12
mov rcx, r12
call fcn.140094aec
mov rcx, rax
mov qword [rsp + 0x70], rax
add r13, 0x11
or r13, r12
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x78], r14
jmp 0x140006a9d
mov r14, rdi
or r14, 0xf
inc r14
mov rcx, r14
call fcn.140094aec
mov rcx, rax
mov qword [rsp + 0xa0], rax
lea rax, [r13 + 0x11]
or rax, r14
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xa8], rdi
jmp 0x140006977
lea rbx, [rsp + 0x70]
movzx eax, byte [rbx + 0x17]
mov r15d, eax
and r15d, 0x7f
test al, al
cmovs r15, qword [rbx + 8]
cmovs rbx, qword [rbx]
test r15, r15
je 0x140006b3b
xor r12d, r12d
mov r8d, r15d
sub r8d, r12d
lea rdx, [rbx + r12]
mov ecx, 2
call fcn.140094b50
test eax, eax
js 0x140006b3b
jmp 0x140006de3
xor r14d, r14d
mov r15d, 0
test al, 8
je 0x140006a94
mov r15, qword [rsi + 0x28]
mov r14, qword [rsi + 0x38]
sub r14, r15
jns 0x140006a81
jmp 0x140006fc3
lea rax, [rsp + 0x90]
lea rcx, [rsp + 0xa0]
mov qword [rcx], rax
lea rax, [rsp + 0x9c]
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], r15
call fcn.1400efa50
jmp 0x140006b15
lea rbx, [rsp + 0xa0]
mov r8d, 0x400
mov rcx, rbx
mov dl, 0xaa
call fcn.140098da0
cmp byte [rsp + 0x87], 0
jns 0x140006d59
mov r14, qword [rsp + 0x70]
mov r8d, 0x400
mov rcx, rbx
mov rdx, r14
call fcn.140094180
mov rcx, rbx
call fcn.14005ae20
call fcn.1400ef580
mov rax, qword [0x1401494c8]
cmp rax, qword [0x1401494d0]
je 0x140006fba
mov qword [rsp + 0x58], rbp
call fcn.1400ef580
mov rdx, qword [0x1401494d0]
test rdx, rdx
mov rax, qword [0x1401494c0]
cmove rdx, rax
dec rdx
cmp rax, rdx
jb 0x140006fbd
shl rdx, 3
add rdx, qword [0x1401494b8]
lea rbx, [rsp + 0x58]
mov rcx, rbx
call fcn.140094320
cmp qword [rbx], 0
jne 0x140006df6
lea rcx, [rsp + 0x58]
call fcn.140094350
jmp 0x140006b8e
mov eax, eax
add r12, rax
cmp r12, r15
jb 0x140006cbd
jmp 0x140006b3b
cmp byte [rsp + 0x87], 0
js 0x140006e07
lea rbx, [rsp + 0x70]
jmp 0x140006e0c
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
add rcx, qword [rsp + 0x30]
mov qword [rsp + 0x48], rcx
je 0x140006fc6
call fcn.1400b1190
mov qword [rsp + 0x50], rax
mov rax, qword [rsi + 0x118]
add rbx, rax
mov qword [rsp + 0x38], rbx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov qword [rsp + 0x40], rcx
js 0x140006fc9
je 0x140006e56
test rbx, rbx
je 0x140006fcf
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x58]
lea r9, [rsp + 0x38]
call fcn.1400ef5f0
jmp 0x140006dd4
int3
int3
int3
int3
int3
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140154008]
jmp 0x140006a20
int3
xor ebx, ebx
mov edi, 0
test al, 8
je 0x14000696b
mov rbx, qword [rsi + 0x28]
mov rdi, qword [rsi + 0x38]
sub rdi, rbx
jns 0x140006958
int3
lea rcx, [0x1401494e8]
call fcn.140094c5c
cmp dword [0x1401494e8], 0xffffffff
jne 0x140006f3e
lea rcx, str.LOG_FATAL
mov edx, 0x400
call fcn.1400072b0
mov qword [0x1401494e0], rax
lea rcx, [0x1401494e8]
call fcn.140094bfc
jmp 0x140006f3e
mov eax, 3
cmp byte [0x1401494dc], 0
jne 0x140006b32
mov byte [0x1401494dc], 1
mov eax, dword [0x1401494e8]
mov ecx, dword [0x140140950]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140006ec9
mov rcx, rsi
mov rdx, rbx
call fcn.1400ef670
movzx eax, byte [rsp + 0xb7]
test al, al
jns 0x140006f67
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xa0]
jmp 0x140006f6a
and eax, 0x7f
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rax
test rax, rax
js 0x140006fc0
test rbx, rbx
jne 0x140006f83
test rax, rax
jne 0x140006fcc
mov rcx, qword [0x1401494e0]
lea rdx, [rsp + 0x58]
call fcn.140004ce0
cmp byte [rsp + 0xb7], 0
jns 0x140006fab
mov rcx, qword [rsp + 0xa0]
call fcn.140094ae4
mov byte [0x1401494dc], 0
mov eax, dword [rsi + 8]
jmp 0x140006b32
int3
int3
int3
int3
int3
int3
int3
int3