Function at 0x14000f8fc
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
sub rsp, 0x5f0
mov rax, qword [0x140027550]
xor rax, rsp
mov qword [rsp + 0x5e0], rax
xor r14d, r14d
xor esi, esi
mov r12d, r8d
mov r13, rdx
movsxd rbx, ecx
mov dword [rsp + 0x44], r14d
test r8d, r8d
jne 0x14000f944
xor eax, eax
jmp 0x14000ffa8
test rdx, rdx
jne 0x14000f977
call fcn.14000a9bc
and dword [rax], esi
call fcn.14000a99c
and qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov dword [rax], 0x16
call fcn.140008a88
or eax, 0xffffffff
jmp 0x14000ffa8
mov r15, rbx
mov rbp, rbx
lea rax, [0x14002a1a0]
sar rbp, 5
and r15d, 0x1f
mov rcx, qword [rax + rbp*8]
mov qword [rsp + 0x58], rbp
imul r15, r15, 0x38
mov edi, dword [r15 + rcx + 0xc]
and edi, 3
cmp edi, 2
je 0x14000f9ab
cmp edi, 1
jne 0x14000f9b4
mov eax, r12d
not eax
test al, 1
je 0x14000f949
test byte [r15 + rcx + 8], 0x20
je 0x14000f9c9
xor edx, edx
mov ecx, ebx
lea r8d, [rdx + 2]
call fcn.1400176a8
mov ecx, ebx
call fcn.140017638
test eax, eax
je 0x14000fc52
lea rax, [0x14002a1a0]
mov rax, qword [rax + rbp*8]
test byte [r15 + rax + 8], 0x80
je 0x14000fc52
call fcn.14000e2c4
xor ebx, ebx
lea rdx, [rsp + 0x50]
mov rcx, qword [rax + 0xc0]
lea rax, [0x14002a1a0]
cmp dword [rcx + 0x14], ebx
mov rcx, qword [rax + rbp*8]
mov rcx, qword [r15 + rcx]
sete bl
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
je 0x14000fc52
test ebx, ebx
je 0x14000fa31
test edi, edi
je 0x14000fc52
call qword [sym.imp.KERNEL32.dll_GetConsoleCP]
and dword [rsp + 0x4c], esi
mov rbx, r13
mov dword [rsp + 0x50], eax
test r12d, r12d
je 0x14000fc49
mov r14d, dword [rsp + 0x50]
mov ebp, 0xd
test edi, edi
jne 0x14000fbcd
movsx ecx, byte [rbx]
xor r14d, r14d
cmp byte [rbx], 0xa
sete r14b
call fcn.140016e88
test eax, eax
jne 0x14000fac2
lea r8d, [rdi + 1]
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.140017630
cmp eax, 0xffffffff
jne 0x14000faec
mov ebx, dword [rsp + 0x4c]
mov r14d, dword [rsp + 0x44]
test esi, esi
jne 0x14000ffa3
test ebx, ebx
je 0x14000ff68
cmp ebx, 5
jne 0x14000ff5c
call fcn.14000a99c
mov dword [rax], 9
call fcn.14000a9bc
mov dword [rax], ebx
jmp 0x14000f96f
mov rax, r12
sub rax, rbx
add rax, r13
cmp rax, 1
jle 0x14000fa89
lea rcx, [rsp + 0x40]
mov r8d, 2
mov rdx, rbx
call fcn.140017630
cmp eax, 0xffffffff
je 0x14000fa89
inc rbx
and qword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
mov ecx, dword [rsp + 0x50]
lea rax, [rsp + 0x60]
lea r8, [rsp + 0x40]
mov r9d, 1
xor edx, edx
mov dword [rsp + 0x28], 5
inc rbx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebp, eax
test eax, eax
je 0x14000fa89
mov rax, qword [rsp + 0x58]
and qword [rsp + 0x20], 0
lea rcx, [0x14002a1a0]
mov rcx, qword [rcx + rax*8]
lea r9, [rsp + 0x4c]
lea rdx, [rsp + 0x60]
mov rcx, qword [r15 + rcx]
mov r8d, ebp
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14000fc3c
add esi, dword [rsp + 0x4c]
cmp dword [rsp + 0x4c], ebp
jl 0x14000fa89
mov ebp, 0xd
test r14d, r14d
je 0x14000fc29
mov rax, qword [rsp + 0x58]
and qword [rsp + 0x20], 0
mov byte [rsp + 0x60], bpl
lea rcx, [0x14002a1a0]
lea r9, [rsp + 0x4c]
lea r8d, [rbp - 0xc]
mov rcx, qword [rcx + rax*8]
lea rdx, [rsp + 0x60]
mov rcx, qword [r15 + rcx]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14000fc3c
cmp dword [rsp + 0x4c], 1
jl 0x14000fa89
inc dword [rsp + 0x44]
inc esi
jmp 0x14000fc29
cmp edi, 1
je 0x14000fbd7
cmp edi, 2
jne 0x14000fbee
movzx eax, word [rbx]
xor r14d, r14d
cmp ax, 0xa
mov word [rsp + 0x40], ax
sete r14b
add rbx, 2
cmp edi, 1
je 0x14000fbf8
cmp edi, 2
jne 0x14000fc29
movzx ecx, word [rsp + 0x40]
call fcn.140017460
cmp ax, word [rsp + 0x40]
jne 0x14000fc3c
inc esi
test r14d, r14d
je 0x14000fc29
mov ecx, ebp
mov word [rsp + 0x40], bp
call fcn.140017460
cmp ax, word [rsp + 0x40]
jne 0x14000fc3c
inc esi
inc dword [rsp + 0x44]
mov eax, ebx
sub eax, r13d
cmp eax, r12d
jae 0x14000fa89
jmp 0x14000fa55
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14000fa8d
mov ebx, dword [rsp + 0x4c]
jmp 0x14000fa9a
lea rax, [0x14002a1a0]
mov rcx, qword [rax + rbp*8]
test byte [r15 + rcx + 8], 0x80
je 0x14000ff2f
xor ebx, ebx
test edi, edi
jne 0x14000fd27
mov rbp, r13
test r12d, r12d
je 0x14000ff68
lea edx, [rbx + 0xd]
lea rdi, [rsp + 0x70]
xor ecx, ecx
mov eax, ebp
sub eax, r13d
cmp eax, r12d
jae 0x14000fcb9
mov al, byte [rbp]
inc rbp
cmp al, 0xa
jne 0x14000fca8
mov byte [rdi], dl
inc r14d
inc rdi
inc rcx
inc rcx
mov byte [rdi], al
inc rdi
cmp rcx, 0x400
jb 0x14000fc89
and qword [rsp + 0x20], rbx
lea rax, [rsp + 0x70]
mov r8d, edi
sub r8d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x14002a1a0]
mov rcx, qword [rcx + rax*8]
lea r9, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, qword [r15 + rcx]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14000fe00
add esi, dword [rsp + 0x48]
lea rax, [rsp + 0x70]
sub rdi, rax
movsxd rax, dword [rsp + 0x48]
cmp rax, rdi
jl 0x14000fa92
mov eax, ebp
mov edx, 0xd
sub eax, r13d
cmp eax, r12d
jb 0x14000fc82
jmp 0x14000fa92
cmp edi, 2
jne 0x14000fe0d
mov rbp, r13
test r12d, r12d
je 0x14000ff68
lea edx, [rdi + 0xb]
lea rdi, [rsp + 0x70]
xor ecx, ecx
mov eax, ebp
sub eax, r13d
cmp eax, r12d
jae 0x14000fd90
movzx eax, word [rbp]
add rbp, 2
cmp ax, 0xa
jne 0x14000fd76
cmp rcx, 0x3fd
ja 0x14000fd8c
mov word [rdi], dx
add r14d, 2
add rdi, 2
add rcx, 2
add rcx, 2
mov word [rdi], ax
add rdi, 2
cmp rcx, 0x3ff
jae 0x14000fd90
jmp 0x14000fd46
sub rbp, 2
and qword [rsp + 0x20], rbx
lea rax, [rsp + 0x70]
mov r8d, edi
sub r8d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x14002a1a0]
mov rcx, qword [rcx + rax*8]
lea r9, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, qword [r15 + rcx]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14000fe00
movsxd rcx, dword [rsp + 0x48]
lea rax, [rsp + 0x70]
sub rdi, rax
add esi, ecx
cmp rcx, rdi
jl 0x14000fa92
test ecx, ecx
je 0x14000fa92
mov eax, ebp
mov edx, 0xd
sub eax, r13d
cmp eax, r12d
jb 0x14000fd3f
jmp 0x14000fa92
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14000fa92
mov rdi, r13
test r12d, r12d
je 0x14000ff68
mov r8d, 0xd
lea rdx, [rsp + 0x480]
xor ecx, ecx
mov eax, edi
sub eax, r13d
cmp eax, r12d
jae 0x14000fe6f
movzx eax, word [rdi]
add rdi, 2
cmp ax, 0xa
jne 0x14000fe55
cmp rcx, 0x150
ja 0x14000fe6b
mov word [rdx], r8w
add rdx, 2
add rcx, 2
add rcx, 2
mov word [rdx], ax
add rdx, 2
cmp rcx, 0x152
jae 0x14000fe6f
jmp 0x14000fe29
sub rdi, 2
and qword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
lea rax, [rsp + 0x480]
sub edx, eax
lea r8, [rsp + 0x480]
mov ecx, 0xfde9
mov eax, edx
mov dword [rsp + 0x28], 0x2ab
cdq
sub eax, edx
xor edx, edx
sar eax, 1
mov r9d, eax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov r14d, eax
test eax, eax
je 0x14000fc3c
xor ebp, ebp
mov rax, qword [rsp + 0x58]
and qword [rsp + 0x20], 0
movsxd rcx, ebp
lea rdx, [rsp + rcx + 0x70]
mov r8d, r14d
lea rcx, [0x14002a1a0]
mov rcx, qword [rcx + rax*8]
lea r9, [rsp + 0x48]
sub r8d, ebp
mov rcx, qword [r15 + rcx]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14000ff05
add ebp, dword [rsp + 0x48]
cmp r14d, ebp
jg 0x14000fec3
jmp 0x14000ff0d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp r14d, ebp
jg 0x14000fa8d
mov esi, edi
mov r8d, 0xd
sub esi, r13d
cmp esi, r12d
jb 0x14000fe1f
jmp 0x14000fa8d
mov rcx, qword [r15 + rcx]
and qword [rsp + 0x20], rsi
lea r9, [rsp + 0x48]
mov r8d, r12d
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14000fe00
mov esi, dword [rsp + 0x48]
xor ebx, ebx
jmp 0x14000fa92
mov ecx, ebx
call fcn.14000a9dc
jmp 0x14000f96f
mov rax, qword [rsp + 0x58]
lea rcx, [0x14002a1a0]
mov rax, qword [rcx + rax*8]
test byte [r15 + rax + 8], 0x40
je 0x14000ff8b
cmp byte [r13], 0x1a
je 0x14000f93d
call fcn.14000a99c
mov dword [rax], 0x1c
call fcn.14000a9bc
and dword [rax], 0
jmp 0x14000f96f
sub esi, r14d
mov eax, esi
mov rcx, qword [rsp + 0x5e0]
xor rcx, rsp
call fcn.140007e20
mov rbx, qword [rsp + 0x648]
add rsp, 0x5f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret