Function at 0x140066f40
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
movaps xmmword [rsp + 0x230], xmm6
mov rax, qword [0x1402fe080]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x58], r8
mov r12, rdx
mov r14, rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x60], rdx
xor ebx, ebx
mov dword [rsp + 0x24], ebx
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r15, qword [r12 + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 0x1c
jb 0x140067954
mov r13, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x140066fe0
mov r13, qword [r12]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rbx
lea rsi, [r15 + 0x1c]
mov ebx, reloc.WS2_32.dll_ntohs
lea rdi, [rsp + 0x70]
cmp rsi, rbx
jbe 0x14006707d
mov rbx, rsi
or rbx, 0xf
cmp rbx, rcx
jbe 0x14006703f
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400d69d0
test rax, rax
je 0x140067946
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140067078
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x140067058
xor edi, edi
jmp 0x140067078
cmp rcx, 0x1000
jb 0x140067070
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14006795a
jmp 0x140067020
call fcn.1400d69d0
mov rdi, rax
mov qword [rsp + 0x70], rdi
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], rbx
movups xmm0, xmmword [str.C:WindowsSystem32drivers_]
movups xmmword [rdi], xmm0
movsd xmm0, qword [0x1402eb898]
movsd qword [rdi + 0x10], xmm0
mov eax, dword [0x1402eb8a0]
mov dword [rdi + 0x18], eax
lea rcx, [rdi + 0x1c]
mov r8, r15
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rsi], 0
mov rdi, qword [rbp - 0x80]
lea rbx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rbx, qword [rsp + 0x70]
call fcn.1400d5d88
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rdi
lea r8, [rbp - 0x50]
mov edx, eax
lea rcx, [rsp + 0x38]
call fcn.140065190
nop
lea rcx, [rsp + 0x38]
call fcn.140066370
movzx ebx, al
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x14006713c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067137
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140067137
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d6a14
test bl, bl
jne 0x14006720c
xorps xmm0, xmm0
movups xmmword [r14 + 0x40], xmm0
xorps xmm1, xmm1
movups xmmword [r14], xmm1
xor ebx, ebx
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r14], bl
movups xmmword [r14 + 0x20], xmm0
mov qword [r14 + 0x30], rbx
mov qword [r14 + 0x38], reloc.WS2_32.dll_ntohs
mov byte [r14 + 0x20], bl
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x1400671b5
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400671b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140067946
call fcn.1400d6a14
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x70], 0
mov rdx, qword [r12 + 0x18]
cmp rdx, 0xf
jbe 0x140067202
inc rdx
mov rcx, qword [r12]
cmp rdx, 0x1000
jb 0x1400671fd
add rdx, 0x27
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x1f
ja 0x14006794d
mov rcx, rax
call fcn.1400d6a14
mov qword [r12 + 0x10], rbx
jmp 0x140067767
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x10]
call fcn.1400d7aca
lea rbx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rbx, qword [rsp + 0x70]
lea rax, [0x1402eae14]
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0xc0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x24], reloc.WLDAP32.dll_Ordinal_30
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x10], rdi
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0x20]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x20], rax
mov byte [rbp + 0x9c], 0
mov byte [rbp + 0x91], 0
lea rcx, [rbp + 0x20]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
xor ecx, ecx
mov qword [rbp + 0xa0], rcx
mov rax, qword [0x1402ff998]
mov qword [rbp + 0x94], rax
mov qword [rbp + 0x88], rcx
mov r8d, reloc.WLDAP32.dll_Ordinal_33
mov rdx, rbx
lea rcx, [rbp + 0x20]
call fcn.14006d8d0
test rax, rax
jne 0x140067309
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x10]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x10], rdi
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xc], edx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rax
mov rax, qword [rbp + 0x10]
movsxd rbx, dword [rax + 4]
mov rbx, qword [rbp + rbx + 0x58]
test rbx, rbx
sete r15b
mov byte [rbp - 0x48], r15b
mov byte [rbp - 0x47], 0
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 0
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rax
mov rsi, qword [rbp - 0x48]
shr rsi, 8
mov r13b, 1
xor edi, edi
test rbx, rbx
je 0x1400673b7
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x14006738c
movzx esi, al
jmp 0x14006738e
xor ebx, ebx
mov r15b, 1
test r13b, r13b
jne 0x1400673ae
test rdi, rdi
je 0x1400673a9
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
jne 0x1400673ab
xor edi, edi
mov r13b, 1
test rbx, rbx
jne 0x14006753c
test rdi, rdi
jne 0x140067545
mov eax, 0x5a4d
mov rcx, qword [rbp - 0x70]
xorps xmm0, xmm0
cmp word [rcx], ax
je 0x1400675ae
movups xmmword [r14 + 0x40], xmm0
xorps xmm1, xmm1
movups xmmword [r14], xmm1
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], 0
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r14], 0
movups xmmword [r14 + 0x20], xmm0
mov qword [r14 + 0x30], 0
mov qword [r14 + 0x38], reloc.WS2_32.dll_ntohs
mov byte [r14 + 0x20], 0
mov rdx, qword [rbp - 0x60]
sub rdx, rcx
cmp rdx, 0x1000
mov rax, rcx
jb 0x14006744b
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400678a8
call fcn.1400d6a14
xor ebx, ebx
xorps xmm0, xmm0
mov qword [rbp - 0x60], rbx
movdqu xmmword [rbp - 0x70], xmm0
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x10], rax
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0x20]
call fcn.14006d000
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0xc0]
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 [rbp - 0x78]
cmp rdx, 0xf
jbe 0x1400674e1
inc rdx
mov rcx, qword [rsp + 0x70]
cmp rdx, 0x1000
mov rax, rcx
jb 0x1400674dc
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140067946
call fcn.1400d6a14
mov byte [rsp + 0x70], 0
mov qword [rbp - 0x78], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x80], rbx
mov rdx, qword [r12 + 0x18]
cmp rdx, 0xf
jbe 0x140067202
inc rdx
cmp rdx, 0x1000
mov rcx, qword [r12]
jb 0x14006752d
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14006794d
mov rcx, r8
call fcn.1400d6a14
mov qword [r12 + 0x10], rbx
jmp 0x140067767
test rdi, rdi
jne 0x1400673c0
test r15b, r15b
jne 0x140067564
test rbx, rbx
je 0x140067562
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x140067562
movzx esi, al
jmp 0x140067564
xor ebx, ebx
mov byte [rsp + 0x20], sil
mov rax, qword [rbp - 0x68]
cmp rax, qword [rbp - 0x60]
je 0x14006757c
mov byte [rax], sil
inc qword [rbp - 0x68]
jmp 0x14006758e
lea r8, [rsp + 0x20]
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x70]
call fcn.140070ab0
test rbx, rbx
je 0x14006738c
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sbumpc_void____ptr64]
cmp eax, 0xffffffff
jne 0x140067379
jmp 0x14006738c
movsxd rbx, dword [rcx + 0x3c]
add rbx, rcx
cmp dword [rbx], 0x4550
jne 0x1400673d5
movups xmmword [rsp + 0x38], xmm0
xor esi, esi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
mov r8, 0xffffffffffffffff
mov rax, qword [rsp + 0x58]
nop
inc r8
cmp byte [rax + r8], sil
jne 0x1400675e0
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140031e50
lea r8, [rsp + 0x38]
mov rdx, qword [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.140066e00
mov eax, dword [rsp + 0x28]
mov rdi, qword [rbp - 0x50]
xorps xmm0, xmm0
cmp rax, rdi
jbe 0x1400677aa
movups xmmword [r14 + 0x40], xmm0
xorps xmm1, xmm1
movups xmmword [r14], xmm1
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r14], sil
movups xmmword [r14 + 0x20], xmm0
mov qword [r14 + 0x30], rsi
mov qword [r14 + 0x38], reloc.WS2_32.dll_ntohs
mov byte [r14 + 0x20], sil
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140067692
mov rdx, qword [rbp - 0x60]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067681
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400678a8
call fcn.1400d6a14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rsi
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x10], rax
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0x20]
call fcn.14006d000
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0xc0]
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 [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140067715
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067710
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140067946
call fcn.1400d6a14
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x70], 0
mov rdx, qword [r12 + 0x18]
cmp rdx, 0xf
jbe 0x140067762
inc rdx
mov rcx, qword [r12]
cmp rdx, 0x1000
jb 0x14006775d
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14006794d
mov rcx, r8
call fcn.1400d6a14
mov qword [r12 + 0x10], rsi
mov byte [r12], 0
mov qword [r12 + 0x18], reloc.WS2_32.dll_ntohs
mov rax, r14
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.1400d6710
mov rbx, qword [rsp + 0x298]
movaps xmm6, xmmword [rsp + 0x230]
add rsp, 0x240
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movups xmmword [rbp - 0x40], xmm0
movdqa xmm6, xmmword [0x1402ebde0]
movdqa xmmword [rbp - 0x30], xmm6
mov byte [rbp - 0x40], sil
movups xmmword [rbp - 0x20], xmm0
movdqa xmmword [rbp - 0x10], xmm6
mov byte [rbp - 0x20], sil
movups xmmword [rbp], xmm0
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rdx, qword [rsp + 0x70]
mov r8, qword [rbp - 0x80]
lea rcx, [rbp - 0x40]
call fcn.14006da30
lea rax, [rbp - 0x20]
cmp rax, r12
je 0x14006781b
mov rdx, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x140067805
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
lea rcx, [rbp - 0x20]
call fcn.14006da30
movdqa xmm6, xmmword [0x1402ebde0]
movzx ecx, word [rbx + 6]
mov dword [rbp + 8], ecx
mov rax, qword [rbp - 0x48]
mov dword [rbp], eax
mov dword [rbp + 4], edi
movaps xmm0, xmmword [rbp - 0x40]
movups xmmword [r14], xmm0
movaps xmm1, xmmword [rbp - 0x30]
movups xmmword [r14 + 0x10], xmm1
movdqa xmmword [rbp - 0x30], xmm6
mov byte [rbp - 0x40], 0
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [r14 + 0x20], xmm0
movaps xmm1, xmmword [rbp - 0x10]
movups xmmword [r14 + 0x30], xmm1
movdqa xmmword [rbp - 0x10], xmm6
mov byte [rbp - 0x20], 0
mov dword [r14 + 0x40], eax
mov dword [r14 + 0x44], edi
mov dword [r14 + 0x48], ecx
lea rcx, [rbp - 0x40]
call fcn.1400679d0
nop
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400678c0
mov rdx, qword [rbp - 0x60]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400678af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400678af
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d6a14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rsi
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x10], rax
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0x20]
call fcn.14006d000
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0xc0]
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 [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140067715
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067710
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140067710
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1400155d0
int3
call fcn.140015530
int3