Function at 0x46ba50
Capabilities:
Write file on windows

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rbx, qword [rcx + 0x308]
mov r10d, dword [rbx + 0x18]
lea eax, [r8 - 1]
mov edi, r8d
mov r12, rcx
cmp eax, 0x20
mov eax, 0x22
mov rsi, rdx
cmovbe edi, eax
test r10d, r10d
jne 0x46bcf0
cmp byte [r12 + 0x51e], 0
je 0x46bbf0
mov r8d, dword [rbx + 0x38]
test r8d, r8d
jne 0x46bc00
mov rcx, qword [rbx + 0x40]
test rcx, rcx
je 0x46bbf0
cmp qword [rbx + 0x48], 0
je 0x46bb72
lea rbp, str..cm
mov rdx, rbp
call fcn.0046b2d0
mov r12, rax
mov rcx, rax
call sub.msvcrt.dll_strlen
mov rdx, rsi
mov rcx, r12
mov r13, rax
call sub.msvcrt.dll_fputs
mov rdx, rsi
mov ecx, 0x3a
call sub.msvcrt.dll_fputc
mov rcx, qword [rbx + 0x48]
mov r9d, edi
mov rdx, rsi
lea r8d, [r13 + 1]
mov dword [rsp + 0x20], 1
mov qword [rsp + 0x28], 0
call fcn.0046b400
mov rdx, rsi
mov ecx, 0xa
call sub.msvcrt.dll_fputc
lea rdx, str..PHONY:
mov rcx, rsi
call sub.msvcrt.dll_fprintf
mov rcx, qword [rbx + 0x40]
mov r9d, edi
mov rdx, rsi
mov r8d, eax
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 1
call fcn.0046b400
mov ecx, 0xa
mov rdx, rsi
call sub.msvcrt.dll_fputc
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x46bb72
cmp byte [rbx + 0x50], 0
je 0x46be58
mov edx, dword [rbx + 0x38]
test edx, edx
je 0x46bbf0
lea rdx, str.CXX_IMPORTS_
mov rcx, rsi
call sub.msvcrt.dll_fprintf
mov r8d, eax
mov eax, dword [rbx + 0x38]
test eax, eax
je 0x46bbd0
lea rbp, str..cm
xor r12d, r12d
nop dword [rax]
mov rax, qword [rbx + 0x30]
mov edx, r12d
mov r9d, edi
add r12d, 1
mov rcx, qword [rax + rdx*8]
mov qword [rsp + 0x28], rbp
mov rdx, rsi
mov dword [rsp + 0x20], 1
call fcn.0046b400
cmp r12d, dword [rbx + 0x38]
mov r8d, eax
jne 0x46bba0
mov rdx, rsi
mov ecx, 0xa
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sub.msvcrt.dll_fputc
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov r8d, dword [rbx + 8]
movzx r12d, word [rbx + 0x52]
test r8d, r8d
je 0x46bc4c
xor r8d, r8d
xor ebp, ebp
nop dword [rax + rax]
mov rax, qword [rbx]
mov edx, ebp
mov r9d, edi
mov rcx, qword [rax + rdx*8]
xor eax, eax
cmp ebp, r12d
mov rdx, rsi
mov qword [rsp + 0x28], 0
setae al
add ebp, 1
mov dword [rsp + 0x20], eax
call fcn.0046b400
cmp ebp, dword [rbx + 8]
mov r8d, eax
jne 0x46bc18
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x46bc74
mov qword [rsp + 0x28], 0
mov r9d, edi
mov rdx, rsi
mov dword [rsp + 0x20], 1
call fcn.0046b400
mov r8d, eax
mov ecx, 0x3a
mov rdx, rsi
mov dword [rsp + 0x3c], r8d
call sub.msvcrt.dll_fputc
mov r8d, dword [rsp + 0x3c]
mov ecx, dword [rbx + 0x38]
add r8d, 1
test ecx, ecx
je 0x46bcd0
lea rbp, str..cm
xor r12d, r12d
mov rax, qword [rbx + 0x30]
mov edx, r12d
mov r9d, edi
add r12d, 1
mov rcx, qword [rax + rdx*8]
mov qword [rsp + 0x28], rbp
mov rdx, rsi
mov dword [rsp + 0x20], 1
call fcn.0046b400
cmp r12d, dword [rbx + 0x38]
mov r8d, eax
jne 0x46bca0
mov ecx, 0xa
mov rdx, rsi
call sub.msvcrt.dll_fputc
mov rcx, qword [rbx + 0x40]
test rcx, rcx
jne 0x46bab3
jmp 0x46bb72
mov r8d, dword [rbx + 8]
movzx r13d, word [rbx + 0x52]
test r8d, r8d
je 0x46bd3c
xor r8d, r8d
xor ebp, ebp
nop dword [rax + rax]
mov rax, qword [rbx]
mov edx, ebp
mov r9d, edi
mov rcx, qword [rax + rdx*8]
xor eax, eax
cmp ebp, r13d
mov rdx, rsi
mov qword [rsp + 0x28], 0
setae al
add ebp, 1
mov dword [rsp + 0x20], eax
call fcn.0046b400
cmp ebp, dword [rbx + 8]
mov r8d, eax
jne 0x46bd08
cmp byte [r12 + 0x51e], 0
jne 0x46be20
mov rdx, rsi
mov ecx, 0x3a
mov dword [rsp + 0x3c], r8d
call sub.msvcrt.dll_fputc
mov r8d, dword [rsp + 0x3c]
mov r9d, dword [rbx + 0x18]
add r8d, 1
test r9d, r9d
je 0x46bda9
xor ebp, ebp
nop dword [rax]
mov rax, qword [rbx + 0x10]
mov edx, ebp
mov r9d, edi
add ebp, 1
mov rcx, qword [rax + rdx*8]
mov dword [rsp + 0x20], 1
mov rdx, rsi
mov qword [rsp + 0x28], 0
call fcn.0046b400
cmp ebp, dword [rbx + 0x18]
mov r8d, eax
jne 0x46bd78
mov rdx, rsi
mov ecx, 0xa
call sub.msvcrt.dll_fputc
cmp byte [r12 + 0x51d], 0
je 0x46ba8a
cmp dword [rbx + 0x18], 1
jbe 0x46ba8a
mov r13d, 8
mov ebp, 1
lea r14, str._s:_n
nop dword [rax]
mov rax, qword [rbx + 0x10]
xor edx, edx
add ebp, 1
mov rcx, qword [rax + r13]
add r13, 8
call fcn.0046b2d0
mov rdx, r14
mov rcx, rsi
mov r8, rax
call sub.msvcrt.dll_fprintf
cmp ebp, dword [rbx + 0x18]
jb 0x46bde8
jmp 0x46ba8a
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x46bd4b
mov qword [rsp + 0x28], 0
mov r9d, edi
mov rdx, rsi
mov dword [rsp + 0x20], 1
call fcn.0046b400
mov r8d, eax
jmp 0x46bd4b
xor edx, edx
call fcn.0046b2d0
mov rbp, rax
mov rcx, rax
call sub.msvcrt.dll_strlen
mov rdx, rsi
mov rcx, rbp
mov r12, rax
call sub.msvcrt.dll_fputs
mov r9, rsi
mov r8d, 2
mov edx, 1
lea rcx, [0x00583e8b]
call sub.msvcrt.dll_fwrite
mov rax, qword [rbx]
mov rdx, rsi
mov r9d, edi
lea r8d, [r12 + 1]
mov rcx, qword [rax]
mov dword [rsp + 0x20], 1
mov qword [rsp + 0x28], 0
call fcn.0046b400
mov rdx, rsi
mov ecx, 0xa
call sub.msvcrt.dll_fputc
jmp 0x46bb72