Function at 0x4c8faf
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
movabs rax, 0x736775622f67726f
movabs r15, 0x6563617073206867
movabs r14, 0x726f6620726f6620
movabs r13, 0x617078652074616d
movabs r12, 0x5028206e6f69736e
movabs rdi, 0x757320657361656c
movabs r11, 0x6c75662074696d62
movabs r10, 0x657220677562206c
movabs r9, 0x2074612074726f70
movabs r8, 0x2f2f3a7370747468
movabs rbx, 0x202020200a3a292f
mov qword [rbp + 0x60], rcx
mov rsi, rdx
sub rsi, qword [rbp + 0x60]
movabs rdx, 0x756f6e6520746f6e
movabs rcx, 0x2e756e672e636367
mov qword [rbp - 8], rax
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x58], r15
lea rax, [rsi + 0x78]
mov qword [rbp - 0x50], r14
and rax, 0xfffffffffffffff0
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], r11
mov qword [rbp - 0x28], r10
mov qword [rbp - 0x20], r9
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x10], rcx
mov qword [rbp], rbx
mov byte [rbp + 8], 0
call fcn.004b4c60
sub rsp, rax
movabs rax, 0x736775622f67726f
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0x60]
lea rbx, [rsp + 0x20]
mov qword [rsp + 0x68], r8
mov r8, rsi
mov qword [rsp + 0x70], rcx
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x78], rax
movabs rax, 0x202020200a3a292f
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x80], rax
call sub.msvcrt.dll_memcpy
mov byte [rbx + rsi + 0x68], 0
mov rcx, rbx
call fcn.0057e420
nop
nop
push rbp
sub rsp, 0xb0
lea rax, [0x00586890]
mov qword [rsp + 0x60], rax
lea rax, [0x005ef98c]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x30]
lea rax, [0x004c8faf]
mov qword [rsp + 0x80], rsp
mov qword [rsp + 0x78], rax
call fcn.004b5390
cmp byte [0x0058fc00], 0
jne 0x4c8f7d
mov byte [0x0058fc00], 1
call fcn.00586010
test rax, rax
je 0x4c8f43
mov rdx, qword [rax + 8]
lea r9, [rsp + 0xac]
xor eax, eax
cmp byte [rdx], 0x2a
mov dword [rsp + 0x38], 0xffffffff
mov dword [rsp + 0xac], 0xffffffff
sete al
xor r8d, r8d
add rdx, rax
mov rcx, rdx
mov qword [rsp + 0x98], rdx
xor edx, edx
call fcn.004b3650
mov rdx, qword [fcn.004c5590]
mov ecx, 2
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
call rdx
mov edx, 1
mov r8d, 0x30
lea rcx, str.terminate_called_after_throwing_an_instance_of_
mov r9, rax
call sub.msvcrt.dll_fwrite
mov edx, dword [rsp + 0xac]
mov ecx, 2
test edx, edx
je 0x4c8f2d
mov dword [rsp + 0x38], 0xffffffff
mov rax, qword [rsp + 0x20]
call rax
mov rcx, qword [rsp + 0x98]
mov rdx, rax
call sub.msvcrt.dll_fputs
mov ecx, 2
mov dword [rsp + 0x38], 0xffffffff
mov rax, qword [rsp + 0x20]
call rax
mov r8d, 2
mov edx, 1
lea rcx, [0x005cdf41]
mov r9, rax
call sub.msvcrt.dll_fwrite
mov eax, dword [rsp + 0xac]
test eax, eax
jne 0x4c8f20
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
mov dword [rsp + 0x38], 1
call fcn.00586670
mov rdx, qword [rsp + 0x20]
call rdx
mov rcx, qword [rsp + 0x28]
mov rdx, rax
call sub.msvcrt.dll_fputs
jmp 0x4c8edd
mov ecx, 2
mov dword [rsp + 0x38], 0xffffffff
call qword [fcn.004c5590]
mov r8d, 0x2d
mov edx, 1
lea rcx, str.terminate_called_without_an_active_exception_n
mov r9, rax
call sub.msvcrt.dll_fwrite
mov dword [rsp + 0x38], 0xffffffff
call sub.msvcrt.dll_abort
mov ecx, 2
mov dword [rsp + 0x38], 0xffffffff
call qword [fcn.004c5590]
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
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x4c9056
sub rdx, 1
mov rcx, qword [rsp + 0x28]
jne 0x4c9072
call fcn.00585d60
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
mov ecx, 2
mov dword [rsp + 0x38], 2
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x20]
call rax
mov r9, rax
mov r8d, 0xb
mov edx, 1
lea rcx, str.__what__:
call sub.msvcrt.dll_fwrite
mov ecx, 2
mov rax, qword [rsp + 0x20]
call rax
mov rcx, qword [rsp + 0x28]
mov rdx, rax
call sub.msvcrt.dll_fputs
mov ecx, 2
mov rax, qword [rsp + 0x20]
call rax
mov rdx, rax
mov ecx, 0xa
call sub.msvcrt.dll_fputc
call fcn.00586070
jmp 0x4c8f70
sub eax, 1
jne 0x4c9089
call fcn.00586070
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x38], 0xffffffff
call fcn.004b56e0
call fcn.00585d60
mov dword [rsp + 0x38], 0xffffffff
call fcn.00586070
jmp 0x4c8f70
ud2