Function at 0x1400072e0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov r12, rdx
xor edi, edi
mov dword [rsp + 0x30], edi
mov rax, qword [0x1400c1fa0]
cmp rax, qword [0x1400c1fa8]
je 0x140007329
mov qword [0x1400c1fa8], rax
lea rax, [0x140098060]
mov qword [rbp - 0x60], rax
lea rcx, [rbp + 0x50]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x30], 1
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x50], rax
mov byte [rbp + 0x2c], 0
mov byte [rbp + 0x21], 0
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x30], rdi
mov rax, qword [0x1400c2068]
mov qword [rbp + 0x24], rax
mov qword [rbp + 0x18], rdi
mov r15, qword [0x1400bf0e0]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 1
jb 0x1400079de
lea r13, [0x1400bf0d0]
cmp qword [0x1400bf0e8], 0x10
cmovae r13, qword [0x1400bf0d0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x78], xmm1
lea r14, [r15 + 1]
mov ebx, 0xf
lea rsi, [rsp + 0x78]
cmp r14, rbx
jbe 0x140007492
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x140007453
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400919e4
test rax, rax
je 0x140007681
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14000748d
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14000747b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400079e4
jmp 0x140007434
test rcx, rcx
je 0x14000748a
call fcn.1400919e4
mov rsi, rax
jmp 0x14000748d
mov rsi, rdi
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], rbx
mov r8, r15
mov rdx, r13
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + r15], 0x5c
mov byte [rsi + r14], 0
mov rdx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x1400074c1
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
lea rcx, [rsp + 0x78]
call fcn.140004a60
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x68], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rsi, qword [rbp + 0x130]
mov rdx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140007515
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x58]
call fcn.140004a60
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x48], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rsp + 0x38]
cmp qword [rsp + 0x50], 0x10
cmovae rdx, qword [rsp + 0x38]
mov r9d, 0x40
lea r8d, [r9 - 0x3f]
lea rcx, [rbp - 0x50]
call fcn.1400079f0
xor r8d, r8d
test rax, rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x60]
je 0x140007599
add rcx, rax
xor edx, edx
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
jmp 0x1400075a8
add rcx, rax
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x1400075e8
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400075e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400075e3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140091a20
movdqa xmm0, xmmword [0x140097e70]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14000763b
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007636
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007636
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140091a20
movdqa xmm0, xmmword [0x140097e70]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x14000768d
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007688
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007688
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140091a20
cmp qword [rbp + 0x30], 0
jne 0x1400076f0
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x50]
call fcn.140006a70
lea rcx, [rbp - 0x48]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rcx, r12
call fcn.140004290
nop
mov rcx, rsi
call fcn.140004290
xor al, al
jmp 0x1400079c3
lea rdx, [rbp + 0x138]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___float____ptr64____ptr64]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
je 0x14000777e
nop word [rax + rax]
mov rdx, qword [0x1400c1fa8]
cmp rdx, qword [0x1400c1fb0]
je 0x140007746
movss xmm0, dword [rbp + 0x138]
movss dword [rdx], xmm0
add qword [0x1400c1fa8], 4
jmp 0x140007759
lea r8, [rbp + 0x138]
lea rcx, [0x1400c1fa0]
call fcn.140006510
lea rdx, [rbp + 0x138]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___float____ptr64____ptr64]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
jne 0x140007720
lea rcx, [rbp - 0x50]
cmp qword [rbp + 0x30], 0
je 0x1400078bf
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rbp + 0x20]
cmp rax, rcx
jne 0x1400077b1
mov r9, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x38]
mov r8, rdx
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
cmp qword [rbp + 0x18], 0
je 0x14000782a
cmp byte [rbp + 0x21], 0
je 0x14000782a
mov rax, qword [rbp - 0x50]
mov r8, qword [rax + 0x18]
lea rax, [fcn.140007b30]
mov edx, 0xffffffff
lea rcx, [rbp - 0x50]
cmp r8, rax
jne 0x1400077e2
call fcn.140007b30
jmp 0x1400077e5
call r8
cmp eax, 0xffffffff
jne 0x1400077ee
xor bl, bl
jmp 0x14000782c
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xd8]
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x24]
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140007879
sub eax, 1
je 0x14000787d
cmp eax, 2
je 0x140007826
xor bl, bl
jmp 0x14000782c
mov byte [rbp + 0x21], 0
mov bl, 1
mov rcx, qword [rbp + 0x30]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
lea rcx, [rbp - 0x50]
test bl, bl
cmove rcx, rdi
mov rbx, rdi
test eax, eax
cmove rbx, rcx
mov byte [rbp + 0x2c], 0
mov byte [rbp + 0x21], 0
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x30], rdi
mov rax, qword [0x1400c2068]
mov qword [rbp + 0x24], rax
mov qword [rbp + 0x18], rdi
test rbx, rbx
jne 0x1400078fc
jmp 0x1400078e0
mov byte [rbp + 0x21], 0
lea rax, [rbp + 0xb8]
mov rbx, qword [rsp + 0x30]
sub rbx, rax
je 0x1400078b3
mov r9, qword [rbp + 0x30]
mov r8, rbx
mov edx, 1
lea rcx, [rbp + 0xb8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
je 0x1400078b3
xor bl, bl
jmp 0x14000782c
cmp byte [rbp + 0x21], 0
sete bl
jmp 0x14000782c
mov byte [rbp + 0x2c], 0
mov byte [rbp + 0x21], 0
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x30], rdi
mov rax, qword [0x1400c2068]
mov qword [rbp + 0x24], rax
mov qword [rbp + 0x18], rdi
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x60]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
xorps xmm1, xmm1
mov rax, qword [0x1400c1fa8]
mov rdx, qword [0x1400c1fa0]
mov rcx, rax
sub rcx, rdx
sar rcx, 2
test rcx, rcx
je 0x140007945
sub rax, rdx
sar rax, 2
movss xmm2, dword [0x1400bf140]
nop dword [rax + rax]
movss xmm0, dword [rdx + rdi*4]
divss xmm0, xmm2
addss xmm1, xmm0
inc rdi
cmp rdi, rax
jb 0x140007930
shr rcx, 1
mov dword [0x1400c2038], ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
mulss xmm0, dword [0x140098070]
cvtps2pd xmm0, xmm0
movsd qword [0x1400c2040], xmm0
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x50]
call fcn.140006a70
lea rcx, [rbp - 0x48]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rcx, r12
call fcn.140004290
nop
mov rcx, rsi
call fcn.140004290
mov al, 1
mov rbx, qword [rsp + 0x220]
add rsp, 0x1e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140004950
nop
call fcn.140004840
int3