Function at 0x14001fd80
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 [0x140070a30]
xor rax, rsp
mov qword [rsp + 0xe0], rax
call fcn.14001d3e0
mov word [rsp + 0x52], ax
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x52]
call fcn.14001d3f0
movzx eax, al
test eax, eax
je 0x14001fde9
lea rcx, [rsp + 0x108]
call fcn.14001fbb0
jmp 0x1400201b8
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 0x14001fe5e
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 0x14001fe5e
lea rcx, [rsp + 0x108]
call fcn.140022340
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 0x1400201b8
mov rax, qword [rsp + 0x100]
cmp qword [rax + 0x90], 0
jne 0x14001fe7a
call fcn.14001d3e0
jmp 0x1400201b8
mov rcx, qword [rsp + 0x100]
call fcn.14001aee0
mov rax, qword [rsp + 0x100]
cmp qword [rax + 0x78], 0
jne 0x14001fee9
lea rcx, [rsp + 0x108]
call fcn.140022340
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx + 0x90]
movzx ecx, ax
call fcn.14000d850
movzx eax, al
test eax, eax
je 0x14001fed0
movzx eax, word [rsp + 0x108]
mov word [rsp + 0x46], ax
jmp 0x14001feda
call fcn.14001d3e0
mov word [rsp + 0x46], ax
movzx eax, word [rsp + 0x46]
jmp 0x1400201b8
mov dword [rsp + 0x68], 8
lea rcx, [rsp + 0x108]
call fcn.140022340
mov word [rsp + 0x40], ax
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0xc0]
call fcn.1400110b0
nop
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0xc0]
call fcn.14001c730
mov rcx, rax
call fcn.140017340
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0xc0]
call fcn.140021f90
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.14001c730
mov rcx, rax
call fcn.140017340
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 0x140020187
cmp dword [rsp + 0x58], 1
jle 0x14001fff8
cmp dword [rsp + 0x58], 3
je 0x140020130
jmp 0x140020187
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xc0]
call fcn.14001c730
mov rcx, rax
call fcn.140017340
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
jbe 0x140020097
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xc0]
call fcn.14001c730
mov rcx, rax
call fcn.140017340
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 0x140020097
call fcn.14001d3e0
mov word [rsp + 0x54], ax
lea rcx, [rsp + 0xc0]
call fcn.1400146b0
movzx eax, word [rsp + 0x54]
jmp 0x1400201b8
mov rax, qword [rsp + 0x100]
mov byte [rax + 0x82], 1
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x90], rax
je 0x1400200d9
movzx eax, word [rsp + 0x108]
mov word [rsp + 0x48], ax
lea rcx, [rsp + 0xc0]
call fcn.1400146b0
movzx eax, word [rsp + 0x48]
jmp 0x1400201b8
cmp qword [rsp + 0x60], 0
jbe 0x1400200e3
jmp 0x14002012e
lea rcx, [rsp + 0xc0]
call fcn.140021f90
cmp rax, 0x20
jae 0x14002010d
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0xc0]
call fcn.14001bed0
jmp 0x14002012e
call fcn.14001d3e0
mov word [rsp + 0x4e], ax
lea rcx, [rsp + 0xc0]
call fcn.1400146b0
movzx eax, word [rsp + 0x4e]
jmp 0x1400201b8
jmp 0x1400201a5
mov rax, qword [rsp + 0x100]
mov rdx, qword [rax + 0x90]
movzx ecx, word [rsp + 0x40]
call fcn.14000d850
movzx eax, al
test eax, eax
je 0x14002015f
movzx eax, word [rsp + 0x108]
mov word [rsp + 0x44], ax
jmp 0x140020169
call fcn.14001d3e0
mov word [rsp + 0x44], ax
movzx eax, word [rsp + 0x44]
mov word [rsp + 0x4a], ax
lea rcx, [rsp + 0xc0]
call fcn.1400146b0
movzx eax, word [rsp + 0x4a]
jmp 0x1400201b8
call fcn.14001d3e0
mov word [rsp + 0x4c], ax
lea rcx, [rsp + 0xc0]
call fcn.1400146b0
movzx eax, word [rsp + 0x4c]
jmp 0x1400201b8
jmp 0x14001ff19
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.14003a110
add rsp, 0xf8
ret