Function at 0x1400030c0
Capabilities:
Write file on windows

Disassembly:
push rsi
sub rsp, 0xf0
mov qword [rsp + 0xe0], rcx
mov dword [rsp + 0xdc], edx
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x90], rax
cmp qword [rax + 0x78], 0
jne 0x140003103
call method.std::__1::char_traits_char_.eof_abi:ne180100___
mov dword [rsp + 0xec], eax
jmp 0x140003579
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_filebuf_char__std::__1::char_traits_char___.__write_mode__
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pbase_abi:ne180100____const
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0xd0], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.epptr_abi:ne180100____const
mov qword [rsp + 0xc8], rax
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0x8c], eax
call method.std::__1::char_traits_char_.eof_abi:ne180100___
mov ecx, dword [rsp + 0x8c]
mov edx, eax
call method.std::__1::char_traits_char_.eq_int_type_abi:ne180100__int__int_
test al, 1
jne 0x1400031d6
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:ne180100____const
cmp rax, 0
jne 0x14000319b
mov rcx, qword [rsp + 0x90]
lea r8, [rsp + 0xdb]
add r8, 1
lea rdx, [rsp + 0xdb]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.setp_abi:ne180100__char__char_
mov ecx, dword [rsp + 0xdc]
call method.std::__1::char_traits_char_.to_char_type_abi:ne180100__int_
mov rcx, qword [rsp + 0x90]
mov byte [rsp + 0x8b], al
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:ne180100____const
mov dl, byte [rsp + 0x8b]
mov rcx, qword [rsp + 0x90]
mov byte [rax], dl
mov edx, 1
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pbump_abi:ne180100__int_
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:ne180100____const
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x80], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pbase_abi:ne180100____const
mov rcx, rax
mov rax, qword [rsp + 0x80]
cmp rax, rcx
je 0x140003566
mov rax, qword [rsp + 0x90]
test byte [rax + 0xa2], 1
je 0x1400032a5
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:ne180100____const
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x78], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pbase_abi:ne180100____const
mov rcx, qword [rsp + 0x90]
mov rdx, rax
mov rax, qword [rsp + 0x78]
sub rax, rdx
mov qword [rsp + 0xc0], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pbase_abi:ne180100____const
mov rcx, rax
mov rax, qword [rsp + 0x90]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rax + 0x78]
mov edx, 1
call sym.fwrite
cmp rax, qword [rsp + 0xc0]
je 0x1400032a0
call method.std::__1::char_traits_char_.eof_abi:ne180100___
mov dword [rsp + 0xec], eax
jmp 0x140003579
jmp 0x140003549
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x90]
cmp qword [rax + 0x80], 0
jne 0x1400032d4
call method.std::__1.__throw_bad_cast_abi:ne180100___
mov rcx, qword [rsp + 0x90]
mov rax, qword [rcx + 0x80]
mov qword [rsp + 0x58], rax
mov rax, rcx
add rax, 0x88
mov qword [rsp + 0x60], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pbase_abi:ne180100____const
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x68], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:ne180100____const
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
mov r9, rax
mov rax, qword [rsp + 0x90]
mov r11, qword [rax + 0x40]
mov r10, qword [rax + 0x40]
add r10, qword [rax + 0x60]
lea rsi, [rsp + 0xa8]
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x38], rax
call method.std::__1::codecvt_char__char___Mbstatet_.out_abi:ne180100___Mbstatet__char_const__char_const__char_const__char__char__char__const
mov rcx, qword [rsp + 0x90]
mov dword [rsp + 0xb4], eax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pbase_abi:ne180100____const
mov rcx, rax
mov rax, qword [rsp + 0x70]
cmp rax, rcx
jne 0x14000339f
call method.std::__1::char_traits_char_.eof_abi:ne180100___
mov dword [rsp + 0xec], eax
jmp 0x140003579
cmp dword [rsp + 0xb4], 3
jne 0x140003431
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:ne180100____const
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pbase_abi:ne180100____const
mov rcx, qword [rsp + 0x90]
mov rdx, rax
mov rax, qword [rsp + 0x50]
sub rax, rdx
mov qword [rsp + 0xa0], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pbase_abi:ne180100____const
mov rcx, rax
mov rax, qword [rsp + 0x90]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rax + 0x78]
mov edx, 1
call sym.fwrite
cmp rax, qword [rsp + 0xa0]
je 0x14000342c
call method.std::__1::char_traits_char_.eof_abi:ne180100___
mov dword [rsp + 0xec], eax
jmp 0x140003579
jmp 0x140003531
cmp dword [rsp + 0xb4], 0
je 0x14000344d
cmp dword [rsp + 0xb4], 1
jne 0x14000351b
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rax + 0x40]
sub rcx, rdx
mov qword [rsp + 0x98], rcx
mov rcx, qword [rax + 0x40]
mov r8, qword [rsp + 0x98]
mov r9, qword [rax + 0x78]
mov edx, 1
call sym.fwrite
cmp rax, qword [rsp + 0x98]
je 0x1400034a5
call method.std::__1::char_traits_char_.eof_abi:ne180100___
mov dword [rsp + 0xec], eax
jmp 0x140003579
cmp dword [rsp + 0xb4], 1
jne 0x140003516
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x40], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:ne180100____const
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x90]
mov r8, rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.setp_abi:ne180100__char__char_
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.epptr_abi:ne180100____const
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pbase_abi:ne180100____const
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x90]
sub rdx, rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.__pbump_abi:ne180100__long_long_
jmp 0x14000352c
call method.std::__1::char_traits_char_.eof_abi:ne180100___
mov dword [rsp + 0xec], eax
jmp 0x140003579
jmp 0x140003531
jmp 0x140003536
cmp dword [rsp + 0xb4], 1
je 0x1400032b9
jmp 0x140003549
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xc8]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.setp_abi:ne180100__char__char_
mov ecx, dword [rsp + 0xdc]
call method.std::__1::char_traits_char_.not_eof_abi:ne180100__int_
mov dword [rsp + 0xec], eax
mov eax, dword [rsp + 0xec]
add rsp, 0xf0
pop rsi
ret