Function at 0x1401c25a0
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 [0x14022c040]
mov r12, qword [str._________AA__A__________________]
mov rax, qword [rsi]
mov qword [rsp + 0xc8], rax
xor eax, eax
mov rax, qword [0x14022c910]
mov qword [rsp + 0x20], rcx
xor esi, esi
mov qword [rsp + 0x28], r9
mov rbx, rdx
mov edi, r8d
lea r15, [rsp + 0x30]
mov qword [rsp + 0x40], rax
lea r14, [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 0x1401c2333
mov r8, qword [rsp + 0x80]
mov edx, edi
add rdx, r8
mov rax, r8
jmp 0x1401c22cd
add rax, 1
cmp cl, 0x3c
jne 0x1401c2380
movzx ecx, byte [rax]
cmp rdx, rax
jne 0x1401c22c0
cmp cl, 0x20
jne 0x1401c2380
test byte [r12 + 0x20], 1
je 0x1401c2380
lea r13, [rsp + 0x90]
xor r9d, r9d
mov r8d, edi
mov rdx, rbx
mov rcx, r13
call fcn.1401c21c0
cmp eax, 0xffffffff
je 0x1401c2333
mov rdx, r13
test esi, esi
jne 0x1401c2450
mov rcx, r15
call fcn.14008f800
mov rcx, r13
call fcn.14008e580
mov rdx, rbx
mov rcx, rbp
call qword [rbx]
test eax, eax
je 0x1401c2290
mov ebx, 0xffffffff
mov rcx, r15
call fcn.14008e580
mov rcx, r14
call fcn.14008e580
mov rcx, rbp
call fcn.14008e580
mov rdi, qword [0x14022c040]
mov rax, qword [rsp + 0xc8]
sub rax, qword [rdi]
jne 0x1401c2597
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 0x1401c23a9
add rax, 1
cmp cl, 0x7c
jne 0x1401c23d0
movzx ecx, byte [rax]
cmp rdx, rax
jne 0x1401c23a0
test byte [r12 + rcx], 1
je 0x1401c23d0
test esi, esi
jne 0x1401c2333
mov esi, 2
jmp 0x1401c2280
mov rax, r8
jmp 0x1401c23e9
add rax, 1
cmp cl, 0x3d
jne 0x1401c2428
movzx ecx, byte [rax]
cmp rdx, rax
jne 0x1401c23e0
test byte [r12 + rcx], 1
je 0x1401c2428
and esi, 1
jne 0x1401c2333
mov esi, 1
jmp 0x1401c2280
add r8, 1
cmp al, 0x3e
jne 0x1401c2435
movzx eax, byte [r8]
cmp rdx, r8
jne 0x1401c2420
cmp al, 0x20
je 0x1401c246d
test esi, esi
je 0x1401c245d
cmp esi, 2
je 0x1401c2280
mov rdx, rbp
mov rcx, r14
call fcn.14008f800
jmp 0x1401c2401
mov rcx, r14
call fcn.14008f800
jmp 0x1401c231b
mov rdx, rbp
mov rcx, r15
call fcn.14008f800
jmp 0x1401c2280
mov rax, qword [str._________AA__A__________________]
test byte [rax + 0x20], 1
je 0x1401c2435
cmp esi, 1
jne 0x1401c2333
mov rdx, r14
mov rcx, r15
call fcn.14008f2b0
test eax, eax
jle 0x1401c24dd
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.1401c2010
mov rdx, r15
mov rcx, rsi
call fcn.14008f800
mov r8, rdi
mov edx, 0x3d
mov rcx, rsi
call fcn.1401c2010
mov rdx, r14
mov rcx, rsi
call fcn.14008f800
mov r8, rdi
mov edx, 0x3e
mov rcx, rsi
call fcn.1401c2010
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x1401c258d
mov rsi, qword [0x14022c970]
mov rdx, qword [rsp + 0x40]
lea rbx, [0x14022aa1f]
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 + 0x170]
call qword [rax + 0x38]
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rax + 0x170]
test rdx, rdx
lea r8, [rcx + 1]
cmove rdx, rbx
mov rcx, rdi
call qword [rax + 0x38]
mov ebx, 1
jmp 0x1401c2338
call fcn.1401d96b0
nop
nop dword [rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa08
mov rdi, qword [0x14022c040]
mov r14, qword [0x14022c910]
mov rax, qword [rdi]
mov qword [rsp + 0x9f8], rax
xor eax, eax
lea rdi, [rsp + 0x90]
mov rbx, rdx
mov r12d, r8d
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x40], rdi
test rcx, rcx
je 0x1401c2633
mov rax, qword [0x14022c970]
mov rcx, rdi
mov rax, qword [rax]
mov rax, qword [rax + 0x170]
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 0x1401c2700
mov rcx, qword [rsp + 0x60]
lea r8, [rcx + rbp]
mov rax, rcx
jmp 0x1401c2689
add rax, 1
cmp dl, 0x3c
jne 0x1401c269a
movzx edx, byte [rax]
cmp r8, rax
jne 0x1401c2680
cmp dl, 0x20
je 0x1401c2768
mov r9, qword [rbx + 8]
test r9, r9
mov qword [rsp + 0x30], r9
je 0x1401c2660
mov qword [rsp + 0x48], rcx
call sub.msvcrt.dll_strlen
test rax, rax
je 0x1401c2660
mov edx, dword [rbx + 0x10]
test edx, edx
jne 0x1401c2660
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 0x1401c2660
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 0x1401c2670
nop word [rax + rax]
mov rcx, rdi
call fcn.14008e580
mov rcx, r15
call fcn.14008e580
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1401c2733
mov rax, qword [0x14022c970]
mov rdx, qword [rsp + 0x40]
mov rax, qword [rax]
mov rax, qword [rax + 0x170]
call qword [rax + 0x40]
mov rdi, qword [0x14022c040]
mov rax, qword [rsp + 0x9f8]
sub rax, qword [rdi]
jne 0x1401c281f
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 0x1401c269a
mov r9, qword [rsp + 0x28]
mov r8d, r12d
mov rdx, rbx
mov rcx, r15
call fcn.1401c21c0
mov esi, eax
cmp eax, 0xffffffff
je 0x1401c2700
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov r9, qword [rbx + 8]
test rdx, rdx
je 0x1401c27e0
test r9, r9
je 0x1401c27e0
mov r8d, dword [rbx + 0x10]
test r8d, r8d
jne 0x1401c27e0
mov r8d, 1
call sub.msvcrt.dll_fwrite
cmp rax, 1
je 0x1401c27d1
call qword [sym.imp.msvcrt.dll__errno]
mov eax, dword [rax]
mov dword [rbx + 0x10], eax
mov rcx, qword [rsp + 0x80]
nop dword [rax]
mov qword [rsp + 0x78], 0
cmp rcx, r14
je 0x1401c2800
mov byte [rcx], 0
mov esi, 1
jmp 0x1401c2660
cmp byte [rcx], 0
je 0x1401c27f1
mov r8d, 0xac
lea rdx, [0x14022aa20]
lea rcx, [0x14022aa29]
call qword [sym.imp.msvcrt.dll__assert]
call fcn.1401d96b0
nop
nop word cs:[rax + rax]