Function at 0x140020840
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r12
push rdi
push rsi
push rbx
sub rsp, 0xa0
lea rbp, [rsp + 0xa0]
mov rdi, qword [0x1400dfb20]
movabs rsi, 0x657220677562206c
movabs rbx, 0x6c75662074696d62
movabs r9, 0x756f6e6520746f6e
movabs r10, 0x6563617073206867
movabs r11, 0x726f6620726f6620
movabs r12, 0x617078652074616d
movabs r14, 0x5028206e6f69736e
movabs r15, 0x757320657361656c
mov rax, qword [rdi]
mov qword [rbp - 8], rax
xor eax, eax
mov qword [rbp - 0x48], rsi
sub rdx, rcx
movabs rsi, 0x2f2f3a7370747468
mov qword [rbp - 0x50], rbx
lea rax, [rdx + 0x78]
movabs rbx, 0x2074612074726f70
mov qword [rbp - 0x38], rsi
and rax, 0xfffffffffffffff0
movabs rsi, 0x736775622f67726f
mov qword [rbp - 0x28], rsi
movabs rsi, 0x202020200a3a29
mov qword [rbp - 0x40], rbx
movabs rbx, 0x2e756e672e636367
mov qword [rbp - 0x30], rbx
movabs rbx, 0x2f736775622f6772
mov qword [rbp - 0x1f], rsi
mov rsi, rdx
mov qword [rbp - 0x80], r9
mov qword [rbp - 0x78], r10
mov qword [rbp - 0x70], r11
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x27], rbx
call fcn.14000e510
movabs rdx, 0x657220677562206c
movdqu xmm0, xmmword [rbp - 0x30]
sub rsp, rax
mov r8, rsi
movabs rax, 0x6c75662074696d62
mov qword [rsp + 0x50], rax
lea rbx, [rsp + 0x20]
movabs rax, 0x2074612074726f70
mov qword [rbx + 0x40], rax
mov rax, qword [rbp - 0x20]
mov qword [rbx + 0x38], rdx
movabs rdx, 0x2f2f3a7370747468
mov qword [rbx + 0x48], rdx
mov rdx, rcx
mov qword [rbx + 0x60], rax
lea rax, [rbx + 0x68]
mov qword [rbx], r9
mov rcx, rax
mov qword [rbx + 8], r10
mov qword [rbx + 0x10], r11
mov qword [rbx + 0x18], r12
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x28], r15
movups xmmword [rbx + 0x50], xmm0
call sub.msvcrt.dll_memcpy
mov byte [rbx + rsi + 0x68], 0
mov rax, qword [rbp - 8]
sub rax, qword [rdi]
jne 0x1400209d1
mov rcx, rbx
call fcn.1400d3a40
call fcn.14000f2d0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rdi, qword [0x1400dfb20]
mov rax, qword [rdi]
mov qword [rsp + 0x28], rax
xor eax, eax
cmp byte [0x1400d8090], 0
jne 0x140020b0c
mov byte [0x1400d8090], 1
call fcn.1400d3100
test rax, rax
je 0x140020ad8
mov rbx, qword [rax + 8]
xor eax, eax
lea r9, [rsp + 0x24]
cmp byte [rbx], 0x2a
mov dword [rsp + 0x24], 0xffffffff
sete al
xor r8d, r8d
xor edx, edx
add rbx, rax
mov rcx, rbx
call fcn.14000d2f0
mov ecx, 2
mov rsi, qword [fcn.140017c10]
mov rbp, rax
call rsi
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 + 0x24]
mov ecx, 2
test edx, edx
je 0x140020ac9
call rsi
mov rcx, rbx
mov rdx, rax
call sub.msvcrt.dll_fputs
mov ecx, 2
call rsi
mov r8d, 2
mov edx, 1
lea rcx, [0x1400d9581]
mov r9, rax
call sub.msvcrt.dll_fwrite
mov eax, dword [rsp + 0x24]
test eax, eax
jne 0x140020aba
mov rcx, rbp
call fcn.140018248
mov rax, qword [rsp + 0x28]
sub rax, qword [rdi]
jne 0x140020b3b
call fcn.1400d3500
call rsi
mov rcx, rbp
mov rdx, rax
call sub.msvcrt.dll_fputs
jmp 0x140020a89
mov ecx, 2
call qword [fcn.140017c10]
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 rax, qword [rsp + 0x28]
sub rax, qword [rdi]
jne 0x140020b3b
call sub.msvcrt.dll_abort
mov ecx, 2
call qword [fcn.140017c10]
mov r8d, 0x1d
mov edx, 1
lea rcx, str.terminate_called_recursively_n
mov r9, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [rsp + 0x28]
sub rax, qword [rdi]
je 0x140020b07
call fcn.14000f2d0
sub rdx, 1
mov rcx, rax
jne 0x140020bab
call fcn.1400d2f00
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x10]
mov ecx, 2
mov rbx, rax
call rsi
mov r9, rax
mov r8d, 0xb
mov edx, 1
lea rcx, str.__what__:
call sub.msvcrt.dll_fwrite
mov ecx, 2
call rsi
mov rdx, rax
mov rcx, rbx
call sub.msvcrt.dll_fputs
mov ecx, 2
call rsi
mov rdx, rax
mov ecx, 0xa
call sub.msvcrt.dll_fputc
call fcn.1400d3130
jmp 0x140020afd
call fcn.1400d2f00
call fcn.1400d3130
jmp 0x140020afd