Function at 0x1401acf40
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rsi, qword [0x140207460]
mov r12, qword [str._________AA__A__________________]
mov rax, qword [rsi]
mov qword [rsp + 0xc8], rax
xor eax, eax
mov rax, qword [0x140207c90]
mov qword [rsp + 0x20], rcx
xor esi, esi
mov qword [rsp + 0x28], r9
mov rbx, rdx
mov edi, r8d
lea r14, [rsp + 0x30]
mov qword [rsp + 0x40], rax
lea r15, [rsp + 0x50]
lea rbp, [rsp + 0x70]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], rax
nop
mov rdx, rbx
mov rcx, rbp
call qword [rbx]
test eax, eax
jne 0x1401accea
mov r8, qword [rsp + 0x80]
mov edx, edi
add rdx, r8
mov rax, r8
jmp 0x1401acc85
add rax, 1
cmp cl, 0x3c
jne 0x1401acd38
movzx ecx, byte [rax]
cmp rdx, rax
jne 0x1401acc78
cmp cl, 0x20
jne 0x1401acd38
test byte [r12 + 0x20], 1
je 0x1401acd38
lea r13, [rsp + 0x90]
xor r9d, r9d
mov r8d, edi
mov rdx, rbx
mov rcx, r13
call fcn.1401acb90
test eax, eax
js 0x1401accea
mov rdx, r13
test esi, esi
jne 0x1401acf18
mov rcx, r14
call fcn.14007e890
mov rcx, r13
call fcn.14007d7e0
mov rdx, rbx
mov rcx, rbp
call qword [rbx]
test eax, eax
je 0x1401acc60
mov ebx, 0xffffffff
mov rcx, r14
call fcn.14007d7e0
mov rcx, r15
call fcn.14007d7e0
mov rcx, rbp
call fcn.14007d7e0
mov rdi, qword [0x140207460]
mov rax, qword [rsp + 0xc8]
sub rax, qword [rdi]
jne 0x1401acf35
mov eax, ebx
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, r8
jmp 0x1401acd49
add rax, 1
cmp cl, 0x7c
jne 0x1401acd70
movzx ecx, byte [rax]
cmp rdx, rax
jne 0x1401acd40
test byte [r12 + rcx], 1
je 0x1401acd70
test esi, esi
jne 0x1401accea
mov esi, 2
jmp 0x1401acc50
mov rax, r8
jmp 0x1401acd81
add rax, 1
cmp cl, 0x3d
jne 0x1401acdb0
movzx ecx, byte [rax]
cmp rdx, rax
jne 0x1401acd78
test byte [r12 + rcx], 1
je 0x1401acdb0
and esi, 1
jne 0x1401accea
mov esi, 1
jmp 0x1401acc50
add r8, 1
cmp al, 0x3e
jne 0x1401acdbd
movzx eax, byte [r8]
cmp rdx, r8
jne 0x1401acda8
cmp al, 0x20
je 0x1401acde7
test esi, esi
je 0x1401acf25
cmp esi, 2
je 0x1401acc50
cmp esi, 1
jne 0x1401acc50
mov rdx, rbp
mov rcx, r15
call fcn.14007e890
jmp 0x1401acc50
mov rax, qword [str._________AA__A__________________]
test byte [rax + 0x20], 1
je 0x1401acdbd
cmp esi, 1
jne 0x1401accea
mov rdx, r15
mov rcx, r14
call fcn.14007e4c0
test eax, eax
jle 0x1401ace57
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x60]
movdqu xmm0, xmmword [rsp + 0x50]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rax
movups xmmword [rsp + 0x30], xmm0
mov rsi, qword [rsp + 0x20]
movsxd rdi, edi
mov edx, 0x3c
mov r8, rdi
mov rcx, rsi
call fcn.1401ac9e0
mov rdx, r14
mov rcx, rsi
call fcn.14007e890
mov r8, rdi
mov edx, 0x3d
mov rcx, rsi
call fcn.1401ac9e0
mov rdx, r15
mov rcx, rsi
call fcn.14007e890
mov r8, rdi
mov edx, 0x3e
mov rcx, rsi
call fcn.1401ac9e0
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x1401acf07
mov rsi, qword [0x140207cf0]
mov rdx, qword [rsp + 0x40]
lea rbx, [0x14020517f]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsi]
test rdx, rdx
cmove rdx, rbx
lea r8, [rcx + 1]
mov rcx, rdi
mov rax, qword [rax + 0x100]
call qword [rax + 0x38]
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rax + 0x100]
test rdx, rdx
lea r8, [rcx + 1]
cmove rdx, rbx
mov rcx, rdi
call qword [rax + 0x38]
mov ebx, 1
jmp 0x1401accef
mov rcx, r15
call fcn.14007e890
jmp 0x1401accd2
mov rdx, rbp
mov rcx, r14
call fcn.14007e890
jmp 0x1401acc50
call fcn.1401be670
nop
nop dword [rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa08
mov r14, qword [0x140207c90]
mov rsi, qword [0x140207460]
lea rdi, [rsp + 0x90]
mov rbx, rdx
mov r12d, r8d
mov qword [rsp + 0x38], rcx
mov rax, qword [rsi]
mov qword [rsp + 0x9f8], rax
xor eax, eax
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x40], rdi
test rcx, rcx
je 0x1401acfd3
mov rax, qword [0x140207cf0]
mov rcx, rdi
mov rax, qword [rax]
mov rax, qword [rax + 0x100]
call qword [rax + 0x28]
xor r13d, r13d
lea r15, [rsp + 0x70]
lea rdi, [rsp + 0x50]
mov ebp, r12d
cmp qword [rsp + 0x38], 0
cmovne r13, qword [rsp + 0x40]
xor esi, esi
mov qword [rsp + 0x28], r13
mov r13, qword [str._________AA__A__________________]
nop dword [rax]
mov rdx, rbx
mov rcx, rdi
call qword [rbx]
test eax, eax
jne 0x1401ad0a0
mov rcx, qword [rsp + 0x60]
lea r8, [rcx + rbp]
mov rax, rcx
jmp 0x1401ad029
add rax, 1
cmp dl, 0x3c
jne 0x1401ad03a
movzx edx, byte [rax]
cmp r8, rax
jne 0x1401ad020
cmp dl, 0x20
je 0x1401ad108
mov r9, qword [rbx + 8]
test r9, r9
mov qword [rsp + 0x30], r9
je 0x1401ad000
mov qword [rsp + 0x48], rcx
call sub.msvcrt.dll_strlen
test rax, rax
je 0x1401ad000
mov edx, dword [rbx + 0x10]
test edx, edx
jne 0x1401ad000
mov r9, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov r8d, 1
mov rdx, rax
call sub.msvcrt.dll_fwrite
cmp rax, 1
je 0x1401ad000
call qword [sym.imp.msvcrt.dll__errno]
mov rdx, rbx
mov rcx, rdi
mov eax, dword [rax]
mov dword [rbx + 0x10], eax
call qword [rbx]
test eax, eax
je 0x1401ad010
nop word [rax + rax]
mov rcx, rdi
call fcn.14007d7e0
mov rcx, r15
call fcn.14007d7e0
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1401ad0d3
mov rax, qword [0x140207cf0]
mov rdx, qword [rsp + 0x40]
mov rax, qword [rax]
mov rax, qword [rax + 0x100]
call qword [rax + 0x40]
mov rdi, qword [0x140207460]
mov rax, qword [rsp + 0x9f8]
sub rax, qword [rdi]
jne 0x1401ad1c3
mov eax, esi
add rsp, 0xa08
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test byte [r13 + 0x20], 1
je 0x1401ad03a
mov r9, qword [rsp + 0x28]
mov r8d, r12d
mov rdx, rbx
mov rcx, r15
call fcn.1401acb90
mov esi, eax
test eax, eax
js 0x1401ad0a0
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov r9, qword [rbx + 8]
test rdx, rdx
je 0x1401ad180
test r9, r9
je 0x1401ad180
mov r8d, dword [rbx + 0x10]
test r8d, r8d
jne 0x1401ad180
mov r8d, 1
call sub.msvcrt.dll_fwrite
cmp rax, 1
je 0x1401ad170
call qword [sym.imp.msvcrt.dll__errno]
mov eax, dword [rax]
mov dword [rbx + 0x10], eax
mov rcx, qword [rsp + 0x80]
nop dword [rax + rax]
mov qword [rsp + 0x78], 0
cmp rcx, r14
je 0x1401ad1a0
mov byte [rcx], 0
jmp 0x1401ad000
cmp byte [rcx], 0
je 0x1401ad000
mov r8d, 0xac
lea rdx, [0x140205180]
lea rcx, [0x140205189]
call qword [sym.imp.msvcrt.dll__assert]
call fcn.1401be670
nop
nop dword [rax]