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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x180112020]
xor rax, rsp
mov qword [rbp - 0x10], rax
movzx ebx, dl
mov byte [rsp + 0x28], dl
mov r14, rcx
mov qword [rsp + 0x60], rcx
mov qword [rbp - 0x58], rcx
xor edi, edi
mov dword [rsp + 0x20], edi
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], rdi
xor r8d, r8d
lea rdx, [0x1800ed0f1]
lea rcx, [rbp - 0x50]
call fcn.180013d70
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
xor r8d, r8d
lea rdx, [0x1800ed0f1]
lea rcx, [rbp - 0x30]
call fcn.180013d70
nop
mov r8d, edi
lea r12d, [rdi + 4]
lea r13d, [rdi + 0x1f]
test bl, bl
je 0x180029636
movups xmm0, xmmword [0x1800ed178]
movups xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x1800ed188]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x1800ed190]
mov dword [rsp + 0x48], eax
movzx eax, byte [0x1800ed194]
mov byte [rsp + 0x4c], al
cmp dword [0x180112028], 2
jl 0x1800295a7
movdqa xmm5, xmmword [0x1800feda0]
movdqa xmm4, xmmword [0x1800ff210]
movd xmm6, r12d
movdqa xmm7, xmmword [0x1800fee20]
movd xmm8, r13d
movdqa xmm0, xmmword [0x1800fef30]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x50]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1800fef10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1800fef10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x1800294a0
cmp r8d, 0x1d
jge 0x1800295f0
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x34
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1d
jl 0x1800295c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
lea rax, [rsp + 0x30]
mov r15, 0xffffffffffffffff
mov r8, r15
nop
inc r8
cmp byte [rax + r8], 0
jne 0x180029610
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x78]
call fcn.180013d70
lea rbx, [rbp - 0x78]
mov edi, 1
jmp 0x180029843
movups xmm0, xmmword [0x1800ed250]
movups xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x1800ed260]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x1800ed268]
mov byte [rsp + 0x48], al
cmp dword [0x180112028], 2
jl 0x1800297b7
movdqa xmm5, xmmword [0x1800feda0]
mov r8d, edi
movdqa xmm4, xmmword [0x1800ff210]
movd xmm6, r12d
movdqa xmm7, xmmword [0x1800fee20]
movd xmm8, r13d
movdqa xmm0, xmmword [0x1800fef30]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x50]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1800fef10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1800fef10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x1800296b0
cmp r8d, 0x19
jge 0x180029800
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x34
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x19
jl 0x1800297d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
lea rax, [rsp + 0x30]
mov r15, 0xffffffffffffffff
mov r8, r15
inc r8
cmp byte [rax + r8], 0
jne 0x180029820
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x68]
call fcn.180013d70
lea rbx, [rsp + 0x68]
mov edi, 2
lea rax, [rbp - 0x50]
cmp rax, rbx
je 0x1800298a9
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x180029887
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029882
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180029eb9
call fcn.1800b7ba8
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
test dil, 2
je 0x1800298ef
and edi, 0xfffffffd
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1800298ef
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800298e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180029eb9
call fcn.1800b7ba8
nop
test dil, 1
je 0x180029930
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x180029930
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002992b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180029ecb
call fcn.1800b7ba8
mov r12, qword [r14 + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov rsi, qword [rbp - 0x40]
sub rax, rsi
cmp rax, r12
jb 0x180029ebf
lea r13, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae r13, qword [rbp - 0x50]
mov qword [rsp + 0x20], r14
cmp qword [r14 + 0x18], 0x10
jb 0x180029973
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea r14, [rsi + r12]
mov edi, 0xf
lea rbx, [rsp + 0x30]
cmp r14, rdi
jbe 0x180029a01
mov rdi, r14
or rdi, 0xf
cmp rdi, rcx
jbe 0x18002999f
mov rdi, rcx
jmp 0x1800299ab
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
mov rcx, rdi
add rcx, 1
cmovb rcx, r15
cmp rcx, 0x1000
jb 0x1800299eb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180029ec5
mov rcx, rax
call fcn.1800b7bb0
test rax, rax
je 0x180029ecb
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1800299fc
test rcx, rcx
je 0x1800299fa
call fcn.1800b7bb0
mov rbx, rax
jmp 0x1800299fc
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
mov r8, rsi
mov rdx, r13
mov rcx, rbx
call fcn.1800b9ed0
lea rcx, [rsi + rbx]
mov r8, r12
mov rdx, qword [rsp + 0x20]
call fcn.1800b9ed0
mov byte [rbx + r14], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x180029a6a
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029a65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180029ecb
call fcn.1800b7ba8
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x20], xmm1
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x180029b17
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180029b17
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r11 + r8*4]
mov eax, dword [rax + r9]
add rax, r9
mov edx, 0x7c32bc30
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x180029b12
nop dword [rax]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax]
lea rax, [rax + 1]
test cl, cl
jne 0x180029af0
cmp edx, 0xc77a027b
je 0x180029d17
test r8d, r8d
jne 0x180029ad0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x180029b2d
cmp qword [rax + 0x30], 0
jne 0x180029aa0
xor r10d, r10d
movzx ebx, byte [rsp + 0x28]
test bl, bl
je 0x180029d34
movups xmm0, xmmword [str.rTBVT]
movups xmmword [rsp + 0x30], xmm0
mov eax, dword [0x1800ed200]
mov dword [rsp + 0x40], eax
movzx eax, word [0x1800ed204]
mov word [rsp + 0x44], ax
movzx eax, byte [0x1800ed206]
mov byte [rsp + 0x46], al
xor r8d, r8d
cmp dword [0x180112028], 2
jl 0x180029cc7
movdqa xmm5, xmmword [0x1800feda0]
movdqa xmm4, xmmword [0x1800ff210]
mov eax, 4
movd xmm6, eax
movdqa xmm7, xmmword [0x1800fee20]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm0, xmmword [0x1800fef30]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x50]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1800fef10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1800fef10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x180029bc0
cmp r8d, 0x17
jge 0x180029d10
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x34
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x17
jl 0x180029ce0
lea r8, [rsp + 0x30]
jmp 0x180029d7c
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
jmp 0x180029b30
mov eax, dword [str.qGDXJ]
mov dword [rsp + 0x20], eax
movzx ecx, word [0x1800ed270]
mov word [rsp + 0x24], cx
movzx eax, byte [0x1800ed272]
mov byte [rsp + 0x20], 0x45
xor byte [rsp + 0x21], 0x35
xor byte [rsp + 0x22], 0x36
xor byte [rsp + 0x23], 0x37
xor cl, 0x38
mov byte [rsp + 0x24], cl
xor byte [rsp + 0x25], 0x39
xor al, 0x3a
mov byte [rsp + 0x26], al
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rdx, qword [rbp - 0x30]
xor ecx, ecx
lea r9d, [rcx + 0x10]
call r10
test bl, bl
jne 0x180029ed1
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x180029dd6
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029dd1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180029ed9
call fcn.1800b7ba8
movdqa xmm0, xmmword [0x1800fed50]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x180029e23
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029e1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180029ead
call fcn.1800b7ba8
nop
mov rbx, qword [rsp + 0x60]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x180029e5e
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180029e59
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180029eb3
mov rcx, r8
call fcn.1800b7ba8
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1800b7800
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800be590
nop
call fcn.1800be590
nop
call fcn.1800be590
nop
call fcn.18000f670
int3
call fcn.18000ed50
int3
call fcn.1800be590
int3
xor ecx, ecx
call fcn.1800be8c8
nop
call fcn.1800be590
int3