Function at 0x140066f60
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 [0x1402fa080]
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 0x140067974
mov r13, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x140067000
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 0x14006709d
mov rbx, rsi
or rbx, 0xf
cmp rbx, rcx
jbe 0x14006705f
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400d3930
test rax, rax
je 0x140067966
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140067098
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x140067078
xor edi, edi
jmp 0x140067098
cmp rcx, 0x1000
jb 0x140067090
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14006797a
jmp 0x140067040
call fcn.1400d3930
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 [0x1402e7778]
movsd qword [rdi + 0x10], xmm0
mov eax, dword [0x1402e7780]
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.1400d2ce8
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rdi
lea r8, [rbp - 0x50]
mov edx, eax
lea rcx, [rsp + 0x38]
call fcn.1400651b0
nop
lea rcx, [rsp + 0x38]
call fcn.140066390
movzx ebx, al
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x14006715c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067157
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140067157
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d3974
test bl, bl
jne 0x14006722c
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 0x1400671d5
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400671d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140067966
call fcn.1400d3974
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 0x140067222
inc rdx
mov rcx, qword [r12]
cmp rdx, 0x1000
jb 0x14006721d
add rdx, 0x27
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x1f
ja 0x14006796d
mov rcx, rax
call fcn.1400d3974
mov qword [r12 + 0x10], rbx
jmp 0x140067787
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x10]
call fcn.1400d4a2a
lea rbx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rbx, qword [rsp + 0x70]
lea rax, [0x1402e6d28]
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 [0x1402fb828]
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.14006dda0
test rax, rax
jne 0x140067329
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 0x1400673d7
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 0x1400673ac
movzx esi, al
jmp 0x1400673ae
xor ebx, ebx
mov r15b, 1
test r13b, r13b
jne 0x1400673ce
test rdi, rdi
je 0x1400673c9
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 0x1400673cb
xor edi, edi
mov r13b, 1
test rbx, rbx
jne 0x14006755c
test rdi, rdi
jne 0x140067565
mov eax, 0x5a4d
mov rcx, qword [rbp - 0x70]
xorps xmm0, xmm0
cmp word [rcx], ax
je 0x1400675ce
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 0x14006746b
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400678c8
call fcn.1400d3974
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.14006d4d0
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 0x140067501
inc rdx
mov rcx, qword [rsp + 0x70]
cmp rdx, 0x1000
mov rax, rcx
jb 0x1400674fc
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140067966
call fcn.1400d3974
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 0x140067222
inc rdx
cmp rdx, 0x1000
mov rcx, qword [r12]
jb 0x14006754d
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14006796d
mov rcx, r8
call fcn.1400d3974
mov qword [r12 + 0x10], rbx
jmp 0x140067787
test rdi, rdi
jne 0x1400673e0
test r15b, r15b
jne 0x140067584
test rbx, rbx
je 0x140067582
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 0x140067582
movzx esi, al
jmp 0x140067584
xor ebx, ebx
mov byte [rsp + 0x20], sil
mov rax, qword [rbp - 0x68]
cmp rax, qword [rbp - 0x60]
je 0x14006759c
mov byte [rax], sil
inc qword [rbp - 0x68]
jmp 0x1400675ae
lea r8, [rsp + 0x20]
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x70]
call fcn.140070c60
test rbx, rbx
je 0x1400673ac
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 0x140067399
jmp 0x1400673ac
movsxd rbx, dword [rcx + 0x3c]
add rbx, rcx
cmp dword [rbx], 0x4550
jne 0x1400673f5
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 0x140067600
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140031cc0
lea r8, [rsp + 0x38]
mov rdx, qword [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.140066e20
mov eax, dword [rsp + 0x28]
mov rdi, qword [rbp - 0x50]
xorps xmm0, xmm0
cmp rax, rdi
jbe 0x1400677ca
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 0x1400676b2
mov rdx, qword [rbp - 0x60]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400676a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400678c8
call fcn.1400d3974
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.14006d4d0
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 0x140067735
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067730
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140067966
call fcn.1400d3974
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 0x140067782
inc rdx
mov rcx, qword [r12]
cmp rdx, 0x1000
jb 0x14006777d
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14006796d
mov rcx, r8
call fcn.1400d3974
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.1400d3670
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 [0x1402e7ce0]
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.14006df00
lea rax, [rbp - 0x20]
cmp rax, r12
je 0x14006783b
mov rdx, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x140067825
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
lea rcx, [rbp - 0x20]
call fcn.14006df00
movdqa xmm6, xmmword [0x1402e7ce0]
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.1400679f0
nop
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400678e0
mov rdx, qword [rbp - 0x60]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400678cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400678cf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d3974
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.14006d4d0
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 0x140067735
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067730
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140067730
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.140015440
int3
call fcn.1400153a0
int3