Function at 0x140028940
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 [0x1403542a0]
xor rax, rsp
mov qword [rsp + 0xe0], rax
call fcn.140004b00
mov word [rsp + 0x52], ax
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x52]
call fcn.140004b10
movzx eax, al
test eax, eax
je 0x1400289a9
lea rcx, [rsp + 0x108]
call fcn.140004db0
jmp 0x140028d78
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 0x140028a1e
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 0x140028a1e
lea rcx, [rsp + 0x108]
call fcn.140005c70
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 0x140028d78
mov rax, qword [rsp + 0x100]
cmp qword [rax + 0x90], 0
jne 0x140028a3a
call fcn.140004b00
jmp 0x140028d78
mov rcx, qword [rsp + 0x100]
call fcn.140027a70
mov rax, qword [rsp + 0x100]
cmp qword [rax + 0x78], 0
jne 0x140028aa9
lea rcx, [rsp + 0x108]
call fcn.140005c70
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx + 0x90]
movzx ecx, ax
call fcn.140024dd0
movzx eax, al
test eax, eax
je 0x140028a90
movzx eax, word [rsp + 0x108]
mov word [rsp + 0x46], ax
jmp 0x140028a9a
call fcn.140004b00
mov word [rsp + 0x46], ax
movzx eax, word [rsp + 0x46]
jmp 0x140028d78
mov dword [rsp + 0x68], 8
lea rcx, [rsp + 0x108]
call fcn.140005c70
mov word [rsp + 0x40], ax
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0xc0]
call fcn.140025640
nop
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0xc0]
call fcn.140027eb0
mov rcx, rax
call fcn.140026850
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0xc0]
call fcn.1400108b0
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.140027eb0
mov rcx, rax
call fcn.140026850
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 0x140028d47
cmp dword [rsp + 0x58], 1
jle 0x140028bb8
cmp dword [rsp + 0x58], 3
je 0x140028cf0
jmp 0x140028d47
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xc0]
call fcn.140027eb0
mov rcx, rax
call fcn.140026850
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
jbe 0x140028c57
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xc0]
call fcn.140027eb0
mov rcx, rax
call fcn.140026850
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 0x140028c57
call fcn.140004b00
mov word [rsp + 0x54], ax
lea rcx, [rsp + 0xc0]
call fcn.140025bd0
movzx eax, word [rsp + 0x54]
jmp 0x140028d78
mov rax, qword [rsp + 0x100]
mov byte [rax + 0x82], 1
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x90], rax
je 0x140028c99
movzx eax, word [rsp + 0x108]
mov word [rsp + 0x48], ax
lea rcx, [rsp + 0xc0]
call fcn.140025bd0
movzx eax, word [rsp + 0x48]
jmp 0x140028d78
cmp qword [rsp + 0x60], 0
jbe 0x140028ca3
jmp 0x140028cee
lea rcx, [rsp + 0xc0]
call fcn.1400108b0
cmp rax, 0x20
jae 0x140028ccd
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0xc0]
call fcn.140027d50
jmp 0x140028cee
call fcn.140004b00
mov word [rsp + 0x4e], ax
lea rcx, [rsp + 0xc0]
call fcn.140025bd0
movzx eax, word [rsp + 0x4e]
jmp 0x140028d78
jmp 0x140028d65
mov rax, qword [rsp + 0x100]
mov rdx, qword [rax + 0x90]
movzx ecx, word [rsp + 0x40]
call fcn.140024dd0
movzx eax, al
test eax, eax
je 0x140028d1f
movzx eax, word [rsp + 0x108]
mov word [rsp + 0x44], ax
jmp 0x140028d29
call fcn.140004b00
mov word [rsp + 0x44], ax
movzx eax, word [rsp + 0x44]
mov word [rsp + 0x4a], ax
lea rcx, [rsp + 0xc0]
call fcn.140025bd0
movzx eax, word [rsp + 0x4a]
jmp 0x140028d78
call fcn.140004b00
mov word [rsp + 0x4c], ax
lea rcx, [rsp + 0xc0]
call fcn.140025bd0
movzx eax, word [rsp + 0x4c]
jmp 0x140028d78
jmp 0x140028ad9
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1400f3d50
add rsp, 0xf8
ret