Function at 0x45e810
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r12
push rdi
push rsi
push rbx
mov rbp, rsp
sub rsp, 0x90
movabs rbx, 0x657220677562206c
movabs r10, 0x756f6e6520746f6e
movabs r11, 0x6563617073206867
movabs rsi, 0x726f6620726f6620
movabs rdi, 0x617078652074616d
movabs r14, 0x5028206e6f69736e
movabs r15, 0x757320657361656c
mov r9, rcx
mov qword [rbp - 0x38], rbx
movabs rcx, 0x6c75662074696d62
movabs rbx, 0x2f2f3a7370747468
sub rdx, r9
mov qword [rbp - 0x40], rcx
movabs rcx, 0x2074612074726f70
mov qword [rbp - 0x30], rcx
lea rax, [rdx + 0x78]
movabs rcx, 0x2e756e672e636367
mov qword [rbp - 0x28], rbx
and rax, 0xfffffffffffffff0
movabs rbx, 0x736775622f67726f
mov qword [rbp - 0x20], rcx
movabs rcx, 0x202020200a3a292f
mov qword [rbp - 0x18], rbx
mov rbx, rdx
mov qword [rbp - 0x70], r10
mov qword [rbp - 0x68], r11
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x10], rcx
mov byte [rbp - 8], 0
call fcn.0040d2b0
movabs rdx, 0x657220677562206c
sub rsp, rax
mov r8, rbx
movabs rax, 0x6c75662074696d62
mov qword [rsp + 0x58], rdx
lea r12, [rsp + 0x20]
movabs rdx, 0x2f2f3a7370747468
mov qword [rsp + 0x50], rax
movabs rax, 0x2074612074726f70
mov qword [rsp + 0x68], rdx
movabs rdx, 0x736775622f67726f
mov qword [rsp + 0x60], rax
movabs rax, 0x2e756e672e636367
mov qword [rsp + 0x78], rdx
mov rdx, r9
mov qword [rsp + 0x80], rcx
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x70], rax
call sub.msvcrt.dll_memcpy
mov rcx, r12
mov byte [r12 + rbx + 0x68], 0
call fcn.00506490
nop
nop
nop
push r13
push r12
push rbx
sub rsp, 0x30
cmp byte [0x0050ace0], 0
jne 0x45e91a
mov byte [0x0050ace0], 1
call fcn.00504b80
test rax, rax
je 0x45e8f0
mov r12, qword [rax + 8]
xor eax, eax
lea r9, [rsp + 0x2c]
cmp byte [r12], 0x2a
mov dword [rsp + 0x2c], 0xffffffff
sete al
xor r8d, r8d
xor edx, edx
add r12, rax
mov rcx, r12
call fcn.0040bbf0
mov ecx, 2
mov rbx, qword [fcn.00418ea0]
mov r13, rax
call rbx
mov edx, 1
lea rcx, str.terminate_called_after_throwing_an_instance_of_
mov r8d, 0x30
mov r9, rax
call sub.msvcrt.dll_fwrite
mov edx, dword [rsp + 0x2c]
mov ecx, 2
test edx, edx
je 0x45e8e1
call rbx
mov rcx, r12
mov rdx, rax
call sub.msvcrt.dll_fputs
mov ecx, 2
call rbx
mov r8d, 2
mov edx, 1
lea rcx, [0x0050fed1]
mov r9, rax
call sub.msvcrt.dll_fwrite
mov eax, dword [rsp + 0x2c]
test eax, eax
jne 0x45e8dc
mov rcx, r13
call sub.msvcrt.dll_free
call fcn.00504fe0
call rbx
mov rcx, r13
mov rdx, rax
call sub.msvcrt.dll_fputs
jmp 0x45e8ab
mov ecx, 2
call qword [fcn.00418ea0]
mov r8d, 0x2d
mov edx, 1
lea rcx, str.terminate_called_without_an_active_exception_n
mov r9, rax
call sub.msvcrt.dll_fwrite
call sub.msvcrt.dll_abort
mov ecx, 2
call qword [fcn.00418ea0]
mov r8d, 0x1d
mov edx, 1
lea rcx, str.terminate_called_recursively_n
mov r9, rax
call sub.msvcrt.dll_fwrite
call sub.msvcrt.dll_abort
sub rdx, 1
mov rcx, rax
jne 0x45e9af
call fcn.005049d0
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x10]
mov ecx, 2
mov r12, rax
call rbx
mov r9, rax
mov r8d, 0xb
mov edx, 1
lea rcx, str.__what__:
call sub.msvcrt.dll_fwrite
mov ecx, 2
call rbx
mov rdx, rax
mov rcx, r12
call sub.msvcrt.dll_fputs
mov ecx, 2
call rbx
mov rdx, rax
mov ecx, 0xa
call sub.msvcrt.dll_fputc
call fcn.00504be0
jmp 0x45e915
call fcn.005049d0
call fcn.00504be0
jmp 0x45e915