Function at 0x14002e170
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x228
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x190], xmm6
mov qword [rbp + 0x180], 0xfffffffffffffffe
xorps xmm0, xmm0
movaps xmmword [rbp - 0x60], xmm0
mov rax, qword gs:[0x60]
mov r8, qword [rax + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov r11, qword [r8 + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov r10d, dword [rax + r11 + 0x88]
test r10, r10
je 0x14002e1ad
mov edx, dword [r11 + r10 + 0x18]
lea r9, [r11 + 1]
jmp 0x14002e1dd
mov esi, 0x4b84c39e
cmp esi, 0x73a654eb
je 0x14002e218
sub rdx, 1
jb 0x14002e1ad
mov eax, dword [r11 + r10 + 0x20]
add rax, r11
mov ecx, dword [rax + rdx*4]
mov al, byte [r11 + rcx]
test al, al
je 0x14002e1d0
add rcx, r9
mov esi, 0x4b84c39e
nop
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
movzx eax, byte [rcx]
add rcx, 1
test al, al
jne 0x14002e200
jmp 0x14002e1d5
mov eax, dword [r11 + r10 + 0x1c]
mov ecx, dword [r11 + r10 + 0x24]
add rax, r11
add rcx, r11
mov edx, edx
movzx ecx, word [rcx + rdx*2]
mov eax, dword [rax + rcx*4]
add rax, r11
call rax
mov rcx, qword gs:[0x60]
mov r8, qword [rcx + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov r11, qword [r8 + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov r10d, dword [rcx + r11 + 0x88]
test r10, r10
je 0x14002e247
mov esi, dword [r11 + r10 + 0x18]
lea r9, [r11 + 1]
jmp 0x14002e27d
mov ecx, 0x4c84c531
cmp ecx, 0x991a8804
je 0x14002e2b8
sub rsi, 1
jb 0x14002e247
mov ecx, dword [r11 + r10 + 0x20]
add rcx, r11
mov edx, dword [rcx + rsi*4]
mov bl, byte [r11 + rdx]
test bl, bl
je 0x14002e270
add rdx, r9
mov ecx, 0x4c84c531
nop
movsx edi, bl
xor edi, ecx
imul ecx, edi, 0x1000193
movzx ebx, byte [rdx]
add rdx, 1
test bl, bl
jne 0x14002e2a0
jmp 0x14002e275
mov ecx, dword [r11 + r10 + 0x1c]
mov edx, dword [r11 + r10 + 0x24]
add rcx, r11
add rdx, r11
mov ebx, esi
movzx edx, word [rdx + rbx*2]
mov ebx, dword [rcx + rdx*4]
add rbx, r11
mov rcx, rax
xor edx, edx
call rbx
movaps xmm0, xmmword [0x1400d97d0]
movups xmmword [rbp + 0x150], xmm0
movabs rax, 0x696e692e4254444b
mov qword [rbp + 0x140], rax
mov byte [rbp + 0x148], 0
lea rcx, [rbp + 0x140]
call fcn.14002de00
mov rsi, rax
mov rax, qword [rbp + 0x158]
cmp rax, 0x10
jb 0x14002e355
mov rcx, qword [rbp + 0x140]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002e350
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14002ea8d
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.14009fe08
test rsi, rsi
je 0x14002e360
mov dword [0x1401140f0], esi
lea rcx, [0x140113ef0]
xor edx, edx
call fcn.1400032e0
test al, al
jne 0x14002e6ee
movups xmm0, xmmword [0x1400d9663]
movaps xmmword [rbp + 0x140], xmm0
movups xmm0, xmmword [0x1400d9673]
movaps xmmword [rbp + 0x150], xmm0
movups xmm0, xmmword [0x1400d9683]
movaps xmmword [rbp + 0x160], xmm0
movzx eax, word [0x1400d9693]
mov word [rbp + 0x170], ax
mov byte [rbp + 0x140], 0xcf
movups xmm0, xmmword [rbp + 0x141]
xorps xmm0, xmmword [0x1400d6120]
movups xmmword [rbp + 0x141], xmm0
movups xmm0, xmmword [rbp + 0x151]
xorps xmm0, xmmword [0x1400d6130]
movups xmmword [rbp + 0x151], xmm0
movups xmm0, xmmword [rbp + 0x161]
xorps xmm0, xmmword [str.RSTUVWXYZ____abcdef123456789:_____ABCDEFGHIJK_v]
movups xmmword [rbp + 0x161], xmm0
xor byte [rbp + 0x171], 0x62
mov qword [rbp + 0xb8], 0
movaps xmm6, xmmword [section..rdata]
movups xmmword [rbp + 0xc8], xmm6
mov byte [rbp + 0xb8], 0
lea rcx, [rbp + 0x140]
call fcn.1400d3a00
mov rsi, rax
cmp rax, 0xf
jbe 0x14002e448
lea rcx, [rbp + 0xb8]
lea r9, [rbp + 0x140]
mov rdx, rsi
call fcn.140006d00
jmp 0x14002e46d
mov qword [rbp + 0xc8], rsi
lea rcx, [rbp + 0xb8]
lea rdx, [rbp + 0x140]
mov r8, rsi
call fcn.1400a5150
mov byte [rbp + rsi + 0xb8], 0
lea rcx, [0x140113ff8]
lea rdx, [rbp - 0x48]
lea r8, [rbp + 0xb8]
call fcn.14000b3a0
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
jb 0x14002e4c3
mov rcx, qword [rbp - 0x48]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002e4be
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14002ea8d
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.14009fe08
movups xmmword [rbp - 0x38], xmm6
mov byte [rbp - 0x48], 0
lea rcx, [0x140113ef0]
mov edx, 1
call fcn.1400032e0
test al, al
jne 0x14002e6ee
mov qword [rbp - 0x28], 0
movups xmmword [rbp - 0x18], xmm6
mov byte [rbp - 0x28], 0
lea r9, [0x1400f1cf4]
lea rcx, [rbp - 0x28]
mov edx, 0x45
call fcn.140006d00
lea rcx, [0x140113ff0]
lea rdx, [rbp - 0x28]
mov r8d, 1
call fcn.1400222f0
mov qword [rbp - 8], 0
movups xmmword [rbp + 8], xmm6
mov byte [rbp - 8], 0
lea r9, str.Failed_to_retrieve_device_ID__contact_support.
lea rcx, [rbp - 8]
mov edx, 0x2e
call fcn.140006d00
lea rcx, [0x140113ff0]
lea rdx, [rbp - 8]
mov r8d, 2
call fcn.1400222f0
movups xmm0, xmmword [0x1400d9695]
movaps xmmword [rbp + 0x140], xmm0
movups xmm0, xmmword [0x1400d96a5]
movaps xmmword [rbp + 0x150], xmm0
movups xmm0, xmmword [0x1400d96b5]
movaps xmmword [rbp + 0x160], xmm0
movups xmm0, xmmword [0x1400d96c1]
movups xmmword [rbp + 0x16c], xmm0
mov byte [rbp + 0x140], 0x46
movups xmm0, xmmword [rbp + 0x141]
xorps xmm0, xmmword [0x1400d6120]
movups xmmword [rbp + 0x141], xmm0
movups xmm0, xmmword [rbp + 0x151]
xorps xmm0, xmmword [0x1400d6130]
movups xmmword [rbp + 0x151], xmm0
movups xmm0, xmmword [rbp + 0x161]
xorps xmm0, xmmword [str.RSTUVWXYZ____abcdef123456789:_____ABCDEFGHIJK_v]
movups xmmword [rbp + 0x161], xmm0
xor byte [rbp + 0x171], 0x62
xor byte [rbp + 0x172], 0x63
xor byte [rbp + 0x173], 0x64
xor byte [rbp + 0x174], 0x65
xor byte [rbp + 0x175], 0x66
xor byte [rbp + 0x176], 0x31
xor byte [rbp + 0x177], 0x32
xor byte [rbp + 0x178], 0x33
xor byte [rbp + 0x179], 0x34
xor byte [rbp + 0x17a], 0x35
xor byte [rbp + 0x17b], 0x36
mov qword [rbp + 0xd8], 0
movups xmmword [rbp + 0xe8], xmm6
mov byte [rbp + 0xd8], 0
lea rcx, [rbp + 0x140]
call fcn.1400d3a00
mov rsi, rax
cmp rax, 0xf
jbe 0x14002e66b
lea rcx, [rbp + 0xd8]
lea r9, [rbp + 0x140]
mov rdx, rsi
call fcn.140006d00
jmp 0x14002e690
mov qword [rbp + 0xe8], rsi
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0x140]
mov r8, rsi
call fcn.1400a5150
mov byte [rbp + rsi + 0xd8], 0
lea rcx, [0x140113ff8]
lea rdx, [rbp + 0x18]
lea r8, [rbp + 0xd8]
call fcn.14000b3a0
mov rax, qword [rbp + 0x30]
cmp rax, 0x10
jb 0x14002e6e6
mov rcx, qword [rbp + 0x18]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002e6e1
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14002ea8d
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.14009fe08
movups xmmword [rbp + 0x28], xmm6
mov byte [rbp + 0x18], 0
movups xmm0, xmmword [0x1400d96d1]
movaps xmmword [rbp + 0x140], xmm0
movups xmm0, xmmword [0x1400d96db]
movups xmmword [rbp + 0x14a], xmm0
mov byte [rbp + 0x140], 0x4c
movups xmm0, xmmword [rbp + 0x141]
xorps xmm0, xmmword [0x1400d6120]
movups xmmword [rbp + 0x141], xmm0
xor byte [rbp + 0x151], 0x42
xor byte [rbp + 0x152], 0x43
xor byte [rbp + 0x153], 0x44
xor byte [rbp + 0x154], 0x45
xor byte [rbp + 0x155], 0x46
xor byte [rbp + 0x156], 0x47
xor byte [rbp + 0x157], 0x48
xor byte [rbp + 0x158], 0x49
xor byte [rbp + 0x159], 0x4a
mov qword [rbp + 0xf8], 0
movaps xmm6, xmmword [section..rdata]
movups xmmword [rbp + 0x108], xmm6
mov byte [rbp + 0xf8], 0
lea rcx, [rbp + 0x140]
call fcn.1400d3a00
mov rsi, rax
cmp rax, 0xf
jbe 0x14002e7b2
lea rcx, [rbp + 0xf8]
lea r9, [rbp + 0x140]
mov rdx, rsi
call fcn.140006d00
jmp 0x14002e7d7
mov qword [rbp + 0x108], rsi
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0x140]
mov r8, rsi
call fcn.1400a5150
mov byte [rbp + rsi + 0xf8], 0
lea rcx, [0x140113ff8]
lea rdx, [rbp + 0x38]
lea r8, [rbp + 0xf8]
call fcn.14000b3a0
mov rax, qword [rbp + 0x50]
cmp rax, 0x10
jb 0x14002e82d
mov rcx, qword [rbp + 0x38]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002e828
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14002ea8d
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.14009fe08
movups xmmword [rbp + 0x48], xmm6
mov byte [rbp + 0x38], 0
lea rcx, [0x140114018]
call fcn.1400017c0
lea rcx, [0x140114018]
call fcn.140001c10
test al, al
je 0x14002e86e
lea rcx, [0x140114018]
call fcn.1400022b0
lea rcx, [0x140114018]
call fcn.140001fa0
jmp 0x14002ea6a
mov qword [rbp + 0x58], 0
movups xmmword [rbp + 0x68], xmm6
mov byte [rbp + 0x58], 0
lea r9, [0x1400f20c0]
lea rcx, [rbp + 0x58]
mov edx, 0x23
call fcn.140006d00
lea rcx, [0x140113ff0]
lea rdx, [rbp + 0x58]
mov r8d, 1
call fcn.1400222f0
mov qword [rbp + 0x78], 0
movups xmmword [rbp + 0x88], xmm6
mov byte [rbp + 0x78], 0
lea r9, str.Failed_to_create_a_D3D9_device.
lea rcx, [rbp + 0x78]
mov edx, 0x1f
call fcn.140006d00
lea rcx, [0x140113ff0]
lea rdx, [rbp + 0x78]
mov r8d, 2
call fcn.1400222f0
movups xmm0, xmmword [0x1400d96eb]
movaps xmmword [rbp + 0x140], xmm0
movups xmm0, xmmword [0x1400d96fb]
movaps xmmword [rbp + 0x150], xmm0
movups xmm0, xmmword [0x1400d970b]
movaps xmmword [rbp + 0x160], xmm0
mov rax, qword [0x1400d971b]
mov qword [rbp + 0x170], rax
mov byte [rbp + 0x140], 0x46
movups xmm0, xmmword [rbp + 0x141]
xorps xmm0, xmmword [0x1400d6120]
movups xmmword [rbp + 0x141], xmm0
movups xmm0, xmmword [rbp + 0x151]
xorps xmm0, xmmword [0x1400d6130]
movups xmmword [rbp + 0x151], xmm0
movups xmm0, xmmword [rbp + 0x161]
xorps xmm0, xmmword [str.RSTUVWXYZ____abcdef123456789:_____ABCDEFGHIJK_v]
movups xmmword [rbp + 0x161], xmm0
xor byte [rbp + 0x171], 0x62
xor byte [rbp + 0x172], 0x63
xor byte [rbp + 0x173], 0x64
xor byte [rbp + 0x174], 0x65
xor byte [rbp + 0x175], 0x66
xor byte [rbp + 0x176], 0x31
xor byte [rbp + 0x177], 0x32
mov qword [rbp + 0x118], 0
movups xmmword [rbp + 0x128], xmm6
mov byte [rbp + 0x118], 0
lea rcx, [rbp + 0x140]
call fcn.1400d3a00
mov rsi, rax
cmp rax, 0xf
jbe 0x14002e9dc
lea rcx, [rbp + 0x118]
lea r9, [rbp + 0x140]
mov rdx, rsi
call fcn.140006d00
jmp 0x14002ea01
mov qword [rbp + 0x128], rsi
lea rcx, [rbp + 0x118]
lea rdx, [rbp + 0x140]
mov r8, rsi
call fcn.1400a5150
mov byte [rbp + rsi + 0x118], 0
lea rcx, [0x140113ff8]
lea rdx, [rbp + 0x98]
lea r8, [rbp + 0x118]
call fcn.14000b3a0
mov rax, qword [rbp + 0xb0]
cmp rax, 0x10
jb 0x14002ea5c
mov rcx, qword [rbp + 0x98]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002ea57
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14002ea8d
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.14009fe08
movups xmmword [rbp + 0xa8], xmm6
mov byte [rbp + 0x98], 0
mov dword [rbp + 0x13c], 0
mov eax, dword [rbp + 0x13c]
movaps xmm6, xmmword [rbp + 0x190]
add rsp, 0x228
pop rbx
pop rdi
pop rsi
pop rbp
ret
call fcn.1400b4570
int3