Function at 0x140025d70
Capabilities:
Write file on windows

Disassembly:
mov word [rsp + 0x10], dx
mov qword [rsp + 8], rcx
sub rsp, 0xf8
mov qword [rsp + 0x98], 0xfffffffffffffffe
mov rax, qword [0x140079aa0]
xor rax, rsp
mov qword [rsp + 0xe0], rax
call fcn.140021d50
mov word [rsp + 0x52], ax
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x52]
call fcn.140021d60
movzx eax, al
test eax, eax
je 0x140025dd9
lea rcx, [rsp + 0x108]
call fcn.140025ba0
jmp 0x1400261a8
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.MSVCP110.dll_protected:_unsigned_short_int____ptr64___cdecl_std::basic_streambuf_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::pptr_void_const___ptr64]
test rax, rax
je 0x140025e4e
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.MSVCP110.dll_protected:_unsigned_short_int____ptr64___cdecl_std::basic_streambuf_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::pptr_void_const___ptr64]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.MSVCP110.dll_protected:_unsigned_short_int____ptr64___cdecl_std::basic_streambuf_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::epptr_void_const___ptr64]
mov rcx, qword [rsp + 0x78]
cmp rcx, rax
jae 0x140025e4e
lea rcx, [rsp + 0x108]
call fcn.140028330
mov word [rsp + 0x50], ax
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.MSVCP110.dll_protected:_unsigned_short_int____ptr64___cdecl_std::basic_streambuf_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::_Pninc_void____ptr64]
movzx ecx, word [rsp + 0x50]
mov word [rax], cx
movzx eax, word [rsp + 0x108]
jmp 0x1400261a8
mov rax, qword [rsp + 0x100]
cmp qword [rax + 0x90], 0
jne 0x140025e6a
call fcn.140021d50
jmp 0x1400261a8
mov rcx, qword [rsp + 0x100]
call fcn.14001f700
mov rax, qword [rsp + 0x100]
cmp qword [rax + 0x78], 0
jne 0x140025ed9
lea rcx, [rsp + 0x108]
call fcn.140028330
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx + 0x90]
movzx ecx, ax
call fcn.14000f3a0
movzx eax, al
test eax, eax
je 0x140025ec0
movzx eax, word [rsp + 0x108]
mov word [rsp + 0x46], ax
jmp 0x140025eca
call fcn.140021d50
mov word [rsp + 0x46], ax
movzx eax, word [rsp + 0x46]
jmp 0x1400261a8
mov dword [rsp + 0x68], 8
lea rcx, [rsp + 0x108]
call fcn.140028330
mov word [rsp + 0x40], ax
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0xc0]
call fcn.1400146f0
nop
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0xc0]
call fcn.140021040
mov rcx, rax
call fcn.14001b2d0
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0xc0]
call fcn.140027f80
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0xc0]
call fcn.140021040
mov rcx, rax
call fcn.14001b2d0
lea rcx, [rsp + 0x42]
mov rdx, qword [rsp + 0x100]
add rdx, 0x84
lea r8, [rsp + 0x80]
mov qword [rsp + 0x38], r8
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9, rcx
lea r8, [rsp + 0x40]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax + 0x78]
call qword [sym.imp.MSVCP110.dll_public:_int___cdecl_std::codecvt_unsigned_short_int__char__int_::out_int____ptr64__unsigned_short_int_const____ptr64__unsigned_short_int_const____ptr64__unsigned_short_int_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
jl 0x140026177
cmp dword [rsp + 0x58], 1
jle 0x140025fe8
cmp dword [rsp + 0x58], 3
je 0x140026120
jmp 0x140026177
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xc0]
call fcn.140021040
mov rcx, rax
call fcn.14001b2d0
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
jbe 0x140026087
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xc0]
call fcn.140021040
mov rcx, rax
call fcn.14001b2d0
mov rcx, qword [rsp + 0x100]
mov r9, qword [rcx + 0x90]
mov r8, qword [rsp + 0x60]
mov edx, 1
mov rcx, rax
call qword [sym.imp.MSVCR110.dll_fwrite]
cmp qword [rsp + 0x60], rax
je 0x140026087
call fcn.140021d50
mov word [rsp + 0x54], ax
lea rcx, [rsp + 0xc0]
call fcn.1400181b0
movzx eax, word [rsp + 0x54]
jmp 0x1400261a8
mov rax, qword [rsp + 0x100]
mov byte [rax + 0x82], 1
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x90], rax
je 0x1400260c9
movzx eax, word [rsp + 0x108]
mov word [rsp + 0x48], ax
lea rcx, [rsp + 0xc0]
call fcn.1400181b0
movzx eax, word [rsp + 0x48]
jmp 0x1400261a8
cmp qword [rsp + 0x60], 0
jbe 0x1400260d3
jmp 0x14002611e
lea rcx, [rsp + 0xc0]
call fcn.140027f80
cmp rax, 0x20
jae 0x1400260fd
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0xc0]
call fcn.1400207a0
jmp 0x14002611e
call fcn.140021d50
mov word [rsp + 0x4e], ax
lea rcx, [rsp + 0xc0]
call fcn.1400181b0
movzx eax, word [rsp + 0x4e]
jmp 0x1400261a8
jmp 0x140026195
mov rax, qword [rsp + 0x100]
mov rdx, qword [rax + 0x90]
movzx ecx, word [rsp + 0x40]
call fcn.14000f3a0
movzx eax, al
test eax, eax
je 0x14002614f
movzx eax, word [rsp + 0x108]
mov word [rsp + 0x44], ax
jmp 0x140026159
call fcn.140021d50
mov word [rsp + 0x44], ax
movzx eax, word [rsp + 0x44]
mov word [rsp + 0x4a], ax
lea rcx, [rsp + 0xc0]
call fcn.1400181b0
movzx eax, word [rsp + 0x4a]
jmp 0x1400261a8
call fcn.140021d50
mov word [rsp + 0x4c], ax
lea rcx, [rsp + 0xc0]
call fcn.1400181b0
movzx eax, word [rsp + 0x4c]
jmp 0x1400261a8
jmp 0x140025f09
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.140040570
add rsp, 0xf8
ret