Function at 0x140064d00
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
cmp qword [rcx + 0x68], 0
je 0x140064d9b
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
cmp dword [0x1400c53d0], 0xa
jl 0x140064fc2
mov ecx, dword [0x1400c53d4]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
je 0x140064fc2
mov r14, qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
nop word [rax + rax]
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call r14
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call r14
cmp dword [0x1400c53d0], 0xa
jl 0x140064fc2
mov ecx, dword [0x1400c53d4]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
jne 0x140064d60
jmp 0x140064fc2
mov rax, qword [rbx + 0x40]
mov r12, qword [rax]
test r12, r12
je 0x140064f4f
test rsi, rsi
jle 0x140064f4f
mov rax, qword [rbx + 0x58]
mov eax, dword [rax]
test eax, eax
jle 0x140064f4f
movsxd r15, eax
cmp r15, rsi
cmovae r15, rsi
movsxd r13, r15d
mov r14, rsi
cmp dword [0x1400c3680], 0xa
jge 0x140064e10
jmp 0x140064e5e
mov rax, qword [rbx + 0x58]
sub dword [rax], r13d
mov rax, qword [rbx + 0x40]
add qword [rax], r13
add rdi, r15
sub r14, r15
mov rax, qword [rbx + 0x40]
mov r12, qword [rax]
cmp dword [0x1400c3680], 0xa
jl 0x140064e5e
nop word cs:[rax + rax]
mov eax, dword [0x1400c3684]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140064e5e
mov rcx, r12
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
cmp dword [0x1400c3680], 0xa
jge 0x140064e10
jmp 0x140064e5e
mov rcx, r12
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
cmp dword [0x1400c3680], 0xa
jl 0x140064e86
mov eax, dword [0x1400c3684]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x140064e50
mov rax, qword [rbx + 0x58]
sub dword [rax], r13d
mov rax, qword [rbx + 0x40]
add qword [rax], r13
add rdi, r15
sub r14, r15
cmp dword [0x1400c53d0], 0xa
jl 0x140064f52
mov eax, dword [0x1400c53d4]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140064f52
mov rax, qword [rbx + 0x40]
mov r12, qword [rax]
cmp dword [0x1400c3680], 0xa
jl 0x140064f1e
nop dword [rax]
mov eax, dword [0x1400c3684]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140064f1e
mov rcx, r12
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
cmp dword [0x1400c3680], 0xa
jge 0x140064ed0
jmp 0x140064f1e
mov rcx, r12
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
cmp dword [0x1400c3680], 0xa
jl 0x140064de0
mov eax, dword [0x1400c3684]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x140064f10
jmp 0x140064de0
mov r14, rsi
test r14, r14
jle 0x140064fbc
mov r9, qword [rbx + 0x80]
test r9, r9
je 0x140064fbc
mov r15, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
nop word [rax + rax]
mov edx, 1
mov rcx, rdi
mov r8, r14
call r15
sub r14, rax
cmp dword [0x1400c53d0], 0xa
jl 0x140064fbc
mov eax, dword [0x1400c53d4]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140064fbc
mov r9, qword [rbx + 0x80]
mov edx, 1
mov rcx, rdi
mov r8, r14
call r15
sub r14, rax
mov r9, qword [rbx + 0x80]
jmp 0x140064f70
sub rsi, r14
mov rax, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret