Function at 0x140002e40
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0xc8
mov qword [rsp + 0xb8], rcx
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x78], rax
cmp qword [rax + 0x78], 0
jne 0x140002e77
mov dword [rsp + 0xc4], 0
jmp 0x14000326b
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x80], 0
jne 0x140002e8f
call method.std::__1.__throw_bad_cast_abi:ne180100___
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x9c]
and eax, 0x10
cmp eax, 0
je 0x140003001
mov rcx, qword [rsp + 0x78]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.pptr_abi:ne180100____const
mov rcx, qword [rsp + 0x78]
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
je 0x140002f0e
call method.std::__1::char_traits_char_.eof_abi:ne180100___
mov rcx, qword [rsp + 0x78]
mov edx, eax
mov rax, qword [rcx]
call qword [rax + 0x68]
mov dword [rsp + 0x6c], eax
call method.std::__1::char_traits_char_.eof_abi:ne180100___
mov ecx, eax
mov eax, dword [rsp + 0x6c]
cmp eax, ecx
jne 0x140002f09
mov dword [rsp + 0xc4], 0xffffffff
jmp 0x14000326b
jmp 0x140002f0e
jmp 0x140002f13
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x80]
mov rdx, rax
add rdx, 0x88
mov r8, qword [rax + 0x40]
mov r9, qword [rax + 0x40]
add r9, qword [rax + 0x60]
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], rax
call method.std::__1::codecvt_char__char___Mbstatet_.unshift_abi:ne180100___Mbstatet__char__char__char__const
mov ecx, eax
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0xb4], ecx
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rax + 0x40]
sub rcx, rdx
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rax + 0x40]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rax + 0x78]
mov edx, 1
call sym.fwrite
cmp rax, qword [rsp + 0xa0]
je 0x140002fa4
mov dword [rsp + 0xc4], 0xffffffff
jmp 0x14000326b
jmp 0x140002fa9
cmp dword [rsp + 0xb4], 1
je 0x140002f13
cmp dword [rsp + 0xb4], 2
jne 0x140002fd5
mov dword [rsp + 0xc4], 0xffffffff
jmp 0x14000326b
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x78]
call sym.fflush
cmp eax, 0
je 0x140002ffc
mov dword [rsp + 0xc4], 0xffffffff
jmp 0x14000326b
jmp 0x140003260
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x9c]
and eax, 8
cmp eax, 0
je 0x14000325b
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x90]
mov qword [rsp + 0x90], rcx
mov byte [rsp + 0x8f], 0
test byte [rax + 0xa2], 1
je 0x140003072
mov rcx, qword [rsp + 0x78]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.egptr_abi:ne180100____const
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x60], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.gptr_abi:ne180100____const
mov rcx, rax
mov rax, qword [rsp + 0x60]
sub rax, rcx
mov qword [rsp + 0x98], rax
jmp 0x1400031d0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x80]
call method.std::__1::codecvt_char__char___Mbstatet_.encoding_abi:ne180100____const
mov rcx, qword [rsp + 0x78]
mov dword [rsp + 0x88], eax
mov rax, qword [rcx + 0x50]
mov rcx, qword [rcx + 0x48]
sub rax, rcx
mov qword [rsp + 0x98], rax
cmp dword [rsp + 0x88], 0
jle 0x1400030ff
mov rcx, qword [rsp + 0x78]
movsxd rax, dword [rsp + 0x88]
mov qword [rsp + 0x58], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.egptr_abi:ne180100____const
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.gptr_abi:ne180100____const
mov rcx, qword [rsp + 0x50]
mov rdx, rax
mov rax, qword [rsp + 0x58]
sub rcx, rdx
imul rax, rcx
add rax, qword [rsp + 0x98]
mov qword [rsp + 0x98], rax
jmp 0x1400031cb
mov rcx, qword [rsp + 0x78]
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.gptr_abi:ne180100____const
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x48], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.egptr_abi:ne180100____const
mov rcx, rax
mov rax, qword [rsp + 0x48]
cmp rax, rcx
je 0x1400031c6
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0x80]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0x48]
mov qword [rsp + 0x38], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.gptr_abi:ne180100____const
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x40], rax
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.eback_abi:ne180100____const
mov rcx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov rdx, rax
mov rax, qword [rsp + 0x40]
sub rax, rdx
lea rdx, [rsp + 0x90]
mov qword [rsp + 0x20], rax
call method.std::__1::codecvt_char__char___Mbstatet_.length_abi:ne180100___Mbstatet__char_const__char_const__unsigned_long_long__const
mov rcx, qword [rsp + 0x78]
mov dword [rsp + 0x84], eax
mov rax, qword [rcx + 0x48]
mov rcx, qword [rcx + 0x40]
sub rax, rcx
movsxd rcx, dword [rsp + 0x84]
sub rax, rcx
add rax, qword [rsp + 0x98]
mov qword [rsp + 0x98], rax
mov byte [rsp + 0x8f], 1
jmp 0x1400031cb
jmp 0x1400031d0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x78]
xor eax, eax
sub rax, qword [rsp + 0x98]
mov edx, eax
mov r8d, 1
call sym.fseeko__iobuf__long__int_
cmp eax, 0
je 0x140003209
mov dword [rsp + 0xc4], 0xffffffff
jmp 0x14000326b
test byte [rsp + 0x8f], 1
je 0x14000322b
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x90]
mov qword [rax + 0x88], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0x40]
mov qword [rcx + 0x50], rax
mov qword [rcx + 0x48], rax
xor eax, eax
mov r9d, eax
mov rdx, r9
mov r8, r9
call method.std::__1::basic_streambuf_char__std::__1::char_traits_char___.setg_abi:ne180100__char__char__char_
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x9c], 0
jmp 0x140003260
mov dword [rsp + 0xc4], 0
mov eax, dword [rsp + 0xc4]
add rsp, 0xc8
ret