Function at 0x46f39e
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x160
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov rax, qword [rbp + 0x28]
cmp rax, 0
ja 0x46f411
mov eax, 0
mov byte [rbp - 0x30], al
movabs rax, 0x2f
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x2f]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov rax, qword [rbp + 0x10]
mov ecx, 0x30
mov r8, rcx
lea rcx, [rbp - 0x30]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
jmp 0x46f6fe
mov rax, qword [rbp + 0x18]
add rax, 0xc
movzx ecx, byte [rax]
cmp ecx, 0
jne 0x46f4d9
mov eax, 1
mov byte [rbp - 0x60], al
movabs rax, 7
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x5f]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
lea rax, [rbp - 0x80]
mov r10, rax
mov rcx, r10
call fcn.004709e7
mov eax, 0x20
mov r8, rax
lea rax, [rbp - 0x80]
mov r11, rax
lea rax, [rbp - 0x58]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov eax, 0
mov byte [rbp - 0x38], al
movabs rax, 7
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x37]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov rax, qword [rbp + 0x10]
mov ecx, 0x30
mov r8, rcx
lea rcx, [rbp - 0x60]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
jmp 0x46f6fe
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x88], rax
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x90], rax
mov rax, qword [rbp - 0x90]
cmp rax, 0
jg 0x46f505
jmp 0x46f6a5
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax]
mov r9, rcx
mov rax, qword [rbp - 0x90]
mov r8, rax
movabs rax, 1
mov r11, rax
mov rax, qword [rbp - 0x88]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov qword [rbp - 0x98], rax
mov rax, qword [rbp - 0x98]
mov rcx, qword [rbp - 0x88]
add rcx, rax
mov qword [rbp - 0x88], rcx
mov rax, qword [rbp - 0x90]
mov rcx, qword [rbp - 0x98]
sub rax, rcx
mov qword [rbp - 0x90], rax
mov rax, qword [rbp - 0x98]
cmp rax, 0
jg 0x46f6a0
mov eax, 1
mov byte [rbp - 0xc8], al
movabs rax, 7
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0xc7]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
lea rax, str.C.fwrite_returned_0
mov qword [rbp - 0xf8], rax
mov eax, 0x13
mov dword [rbp - 0xf0], eax
mov eax, 1
mov dword [rbp - 0xec], eax
lea rax, [rsp + 0x20]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0xf8]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
lea r11, [rsp + 0x20]
lea rax, [rbp - 0xe8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0042be7a
mov eax, 0x20
mov r8, rax
lea rax, [rbp - 0xe8]
mov r11, rax
lea rax, [rbp - 0xc0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov eax, 0
mov byte [rbp - 0xa0], al
movabs rax, 7
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x9f]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov rax, qword [rbp + 0x10]
mov ecx, 0x30
mov r8, rcx
lea rcx, [rbp - 0xc8]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
jmp 0x46f6fe
jmp 0x46f4ef
mov eax, 0
mov byte [rbp - 0x128], al
movabs rax, 0x2f
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x127]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov rax, qword [rbp + 0x10]
mov ecx, 0x30
mov r8, rcx
lea rcx, [rbp - 0x128]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
leave
ret