Function at 0x140006a3c
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a50]
mov eax, 0x1b50
call fcn.140009480
sub rsp, rax
mov rax, qword [0x14000d958]
xor rax, rsp
mov qword [rbp + 0x1a40], rax
xor r13d, r13d
mov r14d, r8d
xor edi, edi
movsxd rbx, ecx
mov dword [rsp + 0x44], r13d
mov r15, rdx
test r8d, r8d
je 0x14000715b
test rdx, rdx
jne 0x140006ac1
call fcn.140004584
and dword [rax], edi
call fcn.140004600
and qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov dword [rax], 0x16
call fcn.140004678
or eax, 0xffffffff
jmp 0x14000715d
mov rax, rbx
mov qword [rsp + 0x78], rbx
and eax, 0x1f
lea rdx, [0x14000ff00]
imul r12, rax, 0x38
mov rcx, rbx
sar rcx, 5
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], r12
mov rcx, qword [rdx + rcx*8]
mov esi, dword [r12 + rcx + 0xc]
and esi, 3
lea eax, [rsi - 1]
cmp eax, 1
ja 0x140006b05
mov eax, r14d
not eax
test al, 1
je 0x140006a93
test byte [r12 + rcx + 8], 0x20
je 0x140006b1a
xor edx, edx
mov ecx, ebx
lea r8d, [rdx + 2]
call fcn.140007298
mov ecx, ebx
call fcn.1400068c0
lea rcx, [0x14000ff00]
test eax, eax
je 0x140006dd2
mov rax, qword [rsp + 0x58]
mov rax, qword [rcx + rax*8]
cmp byte [r12 + rax + 8], dil
jge 0x140006dd2
call fcn.14000242c
lea rdx, [rsp + 0x54]
mov rcx, qword [rax + 0xc0]
mov rax, qword [rsp + 0x58]
mov ebx, dword [rcx + 0x14]
lea rcx, [0x14000ff00]
mov rcx, qword [rcx + rax*8]
mov rcx, qword [r12 + rcx]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
je 0x140006dcb
test ebx, ebx
jne 0x140006b86
test esi, esi
je 0x140006dcb
call qword [sym.imp.KERNEL32.dll_GetConsoleCP]
and dword [rsp + 0x4c], edi
mov rbx, r15
mov dword [rsp + 0x54], eax
test r14d, r14d
je 0x140006dc2
mov r13d, dword [rsp + 0x54]
mov r12d, 0xd
test esi, esi
jne 0x140006d47
movsx eax, byte [rbx]
xor r13d, r13d
cmp al, 0xa
mov byte [rsp + 0x50], al
mov ecx, eax
sete r13b
call fcn.1400073ec
test eax, eax
jne 0x140006c1d
lea r8d, [rsi + 1]
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1400077b8
cmp eax, 0xffffffff
jne 0x140006c47
mov ebx, dword [rsp + 0x4c]
mov r13d, dword [rsp + 0x44]
test edi, edi
jne 0x140007154
test ebx, ebx
je 0x14000711a
cmp ebx, 5
jne 0x14000710e
call fcn.140004600
mov dword [rax], 9
call fcn.140004584
mov dword [rax], ebx
jmp 0x140006ab9
mov rax, r14
sub rax, rbx
add rax, r15
cmp rax, 1
jle 0x140006be4
mov r8d, 2
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.1400077b8
cmp eax, 0xffffffff
je 0x140006be4
inc rbx
and qword [rsp + 0x38], 0
lea rax, [rbp - 0x80]
and qword [rsp + 0x30], 0
lea r8, [rsp + 0x40]
mov ecx, dword [rsp + 0x54]
mov r9d, 1
mov dword [rsp + 0x28], 5
xor edx, edx
mov qword [rsp + 0x20], rax
inc rbx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov r12d, eax
test eax, eax
je 0x140006be4
mov rcx, qword [rsp + 0x78]
lea r9, [rsp + 0x4c]
and qword [rsp + 0x20], 0
lea rdx, [rbp - 0x80]
mov rax, rcx
mov r8d, r12d
and ecx, 0x1f
sar rax, 5
imul r10, rcx, 0x38
lea rcx, [0x14000ff00]
mov qword [rsp + 0x68], rax
mov rcx, qword [rcx + rax*8]
mov qword [rsp + 0x70], r10
mov rcx, qword [rcx + r10]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140006db5
add edi, dword [rsp + 0x4c]
cmp dword [rsp + 0x4c], r12d
jl 0x140006be4
cmp byte [rsp + 0x50], 0xa
mov r12d, 0xd
jne 0x140006da2
mov rcx, qword [rsp + 0x68]
lea rax, [0x14000ff00]
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x4c]
mov byte [rbp - 0x80], r12b
lea r8d, [r12 - 0xc]
lea rdx, [rbp - 0x80]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rcx + rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140006db5
cmp dword [rsp + 0x4c], 1
jl 0x140006be4
inc dword [rsp + 0x44]
inc edi
jmp 0x140006da2
lea eax, [rsi - 1]
cmp eax, 1
ja 0x140006d66
movzx eax, word [rbx]
xor r13d, r13d
cmp ax, 0xa
mov word [rsp + 0x40], ax
sete r13b
add rbx, 2
lea eax, [rsi - 1]
cmp eax, 1
ja 0x140006da2
movzx ecx, word [rsp + 0x40]
call fcn.1400089e0
cmp ax, word [rsp + 0x40]
jne 0x140006db5
add edi, 2
test r13d, r13d
je 0x140006da2
mov ecx, r12d
mov word [rsp + 0x40], r12w
call fcn.1400089e0
cmp ax, word [rsp + 0x40]
jne 0x140006db5
inc edi
inc dword [rsp + 0x44]
mov eax, ebx
sub eax, r15d
cmp eax, r14d
jae 0x140006be4
jmp 0x140006bab
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x140006be8
mov ebx, dword [rsp + 0x4c]
jmp 0x140006bf5
lea rcx, [0x14000ff00]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rcx + rax*8]
cmp byte [r12 + rcx + 8], dil
jge 0x1400070e1
xor ebx, ebx
test esi, esi
jne 0x140006ea9
mov r12, r15
test r14d, r14d
je 0x14000711f
lea ecx, [rbx + 0xd]
lea rsi, [rbp - 0x70]
mov eax, r12d
sub eax, r15d
cmp eax, r14d
jae 0x140006e38
mov al, byte [r12]
inc r12
cmp al, 0xa
jne 0x140006e21
inc r13d
mov byte [rsi], cl
inc rsi
mov byte [rsi], al
lea rdx, [rbp - 0x70]
inc rsi
mov rax, rsi
sub rax, rdx
cmp rax, 0x13ff
jb 0x140006e03
and qword [rsp + 0x20], rbx
lea rax, [rbp - 0x70]
mov r8d, esi
lea rcx, [0x14000ff00]
sub r8d, eax
lea r9, [rsp + 0x48]
mov rax, qword [rsp + 0x58]
lea rdx, [rbp - 0x70]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + rcx]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140006f8e
add edi, dword [rsp + 0x48]
lea rax, [rbp - 0x70]
sub rsi, rax
movsxd rax, dword [rsp + 0x48]
cmp rax, rsi
jl 0x140006bed
mov eax, r12d
mov ecx, 0xd
sub eax, r15d
cmp eax, r14d
jb 0x140006dff
jmp 0x140006bed
cmp esi, 2
jne 0x140006f9b
mov r12, r15
test r14d, r14d
je 0x14000711f
lea edx, [rsi + 0xb]
lea rsi, [rbp - 0x70]
mov eax, r12d
sub eax, r15d
cmp eax, r14d
jae 0x140006f1b
movzx ecx, word [r12]
add r12, 2
cmp cx, 0xa
jne 0x140006efc
lea r8, [rbp - 0x70]
mov rax, rsi
sub rax, r8
cmp rax, 0x13fc
ja 0x140006f17
add r13d, 2
mov word [rsi], dx
add rsi, 2
mov word [rsi], cx
add rsi, 2
mov rax, rsi
lea rcx, [rbp - 0x70]
sub rax, rcx
cmp rax, 0x13fe
jae 0x140006f1b
jmp 0x140006ec5
add r12, 0xfffffffffffffffe
and qword [rsp + 0x20], rbx
lea rax, [rbp - 0x70]
mov r8d, esi
lea rcx, [0x14000ff00]
sub r8d, eax
lea r9, [rsp + 0x48]
mov rax, qword [rsp + 0x58]
lea rdx, [rbp - 0x70]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + rcx]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140006f8e
movsxd rcx, dword [rsp + 0x48]
lea rax, [rbp - 0x70]
add edi, ecx
sub rsi, rax
cmp rcx, rsi
jl 0x140006bed
test ecx, ecx
je 0x140006bed
mov eax, r12d
mov edx, 0xd
sub eax, r15d
cmp eax, r14d
jb 0x140006ec1
jmp 0x140006bed
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x140006bed
mov rsi, r15
test r14d, r14d
je 0x14000711f
mov r8d, 0xd
lea rcx, [rbp + 0x1390]
xor edx, edx
mov eax, esi
sub eax, r15d
cmp eax, r14d
jae 0x140006ffc
movzx eax, word [rsi]
add rsi, 2
cmp ax, 0xa
jne 0x140006fe2
cmp rdx, 0x6a6
ja 0x140006ff8
mov word [rcx], r8w
add rcx, 2
add rdx, 2
mov word [rcx], ax
add rdx, 2
add rcx, 2
cmp rdx, 0x6a8
jae 0x140006ffc
jmp 0x140006fb6
add rsi, 0xfffffffffffffffe
and qword [rsp + 0x38], 0
lea rax, [rbp + 0x1390]
and qword [rsp + 0x30], 0
lea r8, [rbp + 0x1390]
sub ecx, eax
mov dword [rsp + 0x28], 0xd55
mov eax, ecx
mov ecx, 0xfde9
cdq
sub eax, edx
xor edx, edx
sar eax, 1
mov r9d, eax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov r13d, eax
test eax, eax
je 0x140006db5
mov rcx, qword [rsp + 0x78]
xor r12d, r12d
mov r9, qword [rsp + 0x78]
and ecx, 0x1f
sar r9, 5
imul r10, rcx, 0x38
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x68], r10
and qword [rsp + 0x20], 0
lea rdx, [rbp - 0x70]
movsxd rax, r12d
mov r8d, r13d
add rdx, rax
sub r8d, r12d
lea rax, [0x14000ff00]
mov rcx, qword [rax + r9*8]
lea r9, [rsp + 0x48]
mov rcx, qword [r10 + rcx]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1400070b7
add r12d, dword [rsp + 0x48]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
cmp r13d, r12d
jg 0x14000706d
jmp 0x1400070bf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp r13d, r12d
jg 0x140006be8
mov edi, esi
mov r8d, 0xd
sub edi, r15d
cmp edi, r14d
jb 0x140006fad
jmp 0x140006be8
mov rcx, qword [r12 + rcx]
lea r9, [rsp + 0x48]
and qword [rsp + 0x20], rdi
mov r8d, r14d
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140006f8e
mov edi, dword [rsp + 0x48]
xor ebx, ebx
jmp 0x140006bed
mov ecx, ebx
call fcn.1400045ac
jmp 0x140006ab9
mov rax, qword [rsp + 0x58]
lea rcx, [0x14000ff00]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x60]
test byte [rcx + rax + 8], 0x40
je 0x14000713c
cmp byte [r15], 0x1a
je 0x14000715b
call fcn.140004600
mov dword [rax], 0x1c
call fcn.140004584
and dword [rax], 0
jmp 0x140006ab9
sub edi, r13d
mov eax, edi
jmp 0x14000715d
xor eax, eax
mov rcx, qword [rbp + 0x1a40]
xor rcx, rsp
call fcn.1400019f0
mov rbx, qword [rsp + 0x1ba8]
add rsp, 0x1b50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret