Function at 0x140003390
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 0x1400033d3
call method.std::__1::char_traits_char_.eof_abi:v170003___
mov dword [rsp + 0xec], eax
jmp 0x140003849
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:v170003____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:v170003____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:v170003___
mov ecx, dword [rsp + 0x8c]
mov edx, eax
call method.std::__1::char_traits_char_.eq_int_type_abi:v170003__int__int_
test al, 1
jne 0x1400034a6
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:v170003____const
cmp rax, 0
jne 0x14000346b
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:v170003__char__char_
mov ecx, dword [rsp + 0xdc]
call method.std::__1::char_traits_char_.to_char_type_abi:v170003__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:v170003____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:v170003__int_
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:v170003____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:v170003____const
mov rcx, rax
mov rax, qword [rsp + 0x80]
cmp rax, rcx
je 0x140003836
mov rax, qword [rsp + 0x90]
test byte [rax + 0x9a], 1
je 0x140003575
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:v170003____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:v170003____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:v170003____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 0x140003570
call method.std::__1::char_traits_char_.eof_abi:v170003___
mov dword [rsp + 0xec], eax
jmp 0x140003849
jmp 0x140003819
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 0x1400035a4
call method.std::__1.__throw_bad_cast_abi:v170003___
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:v170003____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:v170003____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__int_.out_abi:v170003__int__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:v170003____const
mov rcx, rax
mov rax, qword [rsp + 0x70]
cmp rax, rcx
jne 0x14000366f
call method.std::__1::char_traits_char_.eof_abi:v170003___
mov dword [rsp + 0xec], eax
jmp 0x140003849
cmp dword [rsp + 0xb4], 3
jne 0x140003701
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:v170003____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:v170003____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:v170003____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 0x1400036fc
call method.std::__1::char_traits_char_.eof_abi:v170003___
mov dword [rsp + 0xec], eax
jmp 0x140003849
jmp 0x140003801
cmp dword [rsp + 0xb4], 0
je 0x14000371d
cmp dword [rsp + 0xb4], 1
jne 0x1400037eb
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 0x140003775
call method.std::__1::char_traits_char_.eof_abi:v170003___
mov dword [rsp + 0xec], eax
jmp 0x140003849
cmp dword [rsp + 0xb4], 1
jne 0x1400037e6
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:v170003____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:v170003__char__char_
mov rcx, qword [rsp + 0x90]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.epptr_abi:v170003____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:v170003____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:v170003__long_long_
jmp 0x1400037fc
call method.std::__1::char_traits_char_.eof_abi:v170003___
mov dword [rsp + 0xec], eax
jmp 0x140003849
jmp 0x140003801
jmp 0x140003806
cmp dword [rsp + 0xb4], 1
je 0x140003589
jmp 0x140003819
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:v170003__char__char_
mov ecx, dword [rsp + 0xdc]
call method.std::__1::char_traits_char_.not_eof_abi:v170003__int_
mov dword [rsp + 0xec], eax
mov eax, dword [rsp + 0xec]
add rsp, 0xf0
pop rsi
ret