Function at 0x18009a970
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 + 8], rbx
mov qword [rax + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov r12, r8
mov rsi, rcx
xor r15d, r15d
test r8, r8
jne 0x18009a9b7
lea eax, [r8 + 1]
jmp 0x18009b356
mov qword [rbp + 0x77], r15
xorps xmm0, xmm0
movups xmmword [rbp - 0x51], xmm0
mov qword [rbp - 0x41], r15
mov qword [rbp - 0x39], r15
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rdx + r8*2], r15w
jne 0x18009a9d4
lea rcx, [rbp - 0x51]
call fcn.180006af0
nop
cmp rsi, 0xffffffff80000001
je 0x18009b1ea
lea rax, [rbp - 0x51]
mov r10, qword [rbp - 0x51]
mov r11, qword [rbp - 0x39]
cmp r11, 8
cmovae rax, r10
movabs rdi, 0x7ffffffffffffffe
cmp word [rax], 0x5c
je 0x18009aabf
mov rax, rdi
mov rcx, qword [rbp - 0x41]
sub rax, rcx
cmp rax, 1
jb 0x18009b39e
lea rax, [rbp - 0x51]
cmp r11, 8
cmovae rax, r10
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [0x180156720]
lea rcx, [rbp - 0x31]
call fcn.1800079c0
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009aaa0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009aa9b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009b38c
call fcn.1800b9f6c
movups xmm1, xmmword [rbp - 0x31]
movups xmmword [rbp - 0x51], xmm1
movups xmm0, xmmword [rbp - 0x21]
movups xmmword [rbp - 0x41], xmm0
psrldq xmm0, 8
movq r11, xmm0
movq r10, xmm1
cmp rsi, 0xffffffff80000000
jne 0x18009ad54
call fcn.18009c820
lea rdx, [0x18035d018]
lea rcx, [rbp - 0x31]
call fcn.1800053e0
nop
lea rdx, [rbp - 0x31]
cmp qword [rbp - 0x19], 8
jb 0x18009aaf6
mov rdx, qword [rbp - 0x31]
test rdx, rdx
je 0x18009ab37
mov r9d, r15d
cmp word [rdx], r9w
je 0x18009ab37
mov r8, r15
nop dword [rax]
nop word [rax + rax]
lea r10, [r8 + r8]
lea ecx, [r9 + 3]
movzx eax, word [r10 + rdx]
xor ecx, eax
lea r9d, [r9 + 1]
lea r8, [r8 + 1]
je 0x18009ab2e
mov word [r10 + rdx], cx
cmp word [r10 + rdx + 2], 0
jne 0x18009ab10
xorps xmm0, xmm0
movups xmmword [rbp - 0x79], xmm0
mov qword [rbp - 0x69], r15
mov qword [rbp - 0x61], r15
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x18009ab46
mov r8, rbx
lea rcx, [rbp - 0x79]
call fcn.180006af0
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x18009ab9e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009ab98
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009b38c
call fcn.1800b9f6c
nop
mov rcx, qword [rbp - 0x69]
sub rdi, rcx
mov rdx, qword [rbp - 0x41]
cmp rdi, rdx
jb 0x18009b392
lea r9, [rbp - 0x79]
cmp qword [rbp - 0x61], 8
cmovae r9, qword [rbp - 0x79]
lea rax, [rbp - 0x51]
cmp qword [rbp - 0x39], 8
cmovae rax, qword [rbp - 0x51]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x31]
call fcn.1800079c0
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009ac26
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009ac21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009b398
call fcn.1800b9f6c
movups xmm0, xmmword [rbp - 0x31]
movups xmmword [rbp - 0x51], xmm0
movups xmm1, xmmword [rbp - 0x21]
movups xmmword [rbp - 0x41], xmm1
mov rdx, qword [rbp - 0x61]
cmp rdx, 8
jb 0x18009ac76
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x79]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009ac71
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009b38c
call fcn.1800b9f6c
mov r10, qword [rbp - 0x51]
mov r11, qword [rbp - 0x39]
lea rcx, [rbp - 0x51]
cmp r11, 8
cmovae rcx, r10
mov r8, qword [rbp + 0x77]
mov rdx, r12
call fcn.18009c2d0
mov r12d, eax
cmp qword [rbp + 0x77], 0
je 0x18009b2e6
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x18009ad4c
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x18009ad4c
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0xe03e033b
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x18009ad47
nop
movsx edx, cl
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
movzx ecx, byte [r9]
lea r9, [r9 + 1]
test cl, cl
jne 0x18009ad10
cmp r10d, 0xa73de02f
je 0x18009b2c7
test r11d, r11d
jne 0x18009acf0
mov rax, qword [rax]
jmp 0x18009acc0
cmp rsi, 0xffffffff80000002
jne 0x18009afc6
movups xmm0, xmmword [str.ofPQKMHB_p____D]
movups xmmword [rbp - 0x79], xmm0
movups xmm1, xmmword [0x18015b168]
movups xmmword [rbp - 0x69], xmm1
mov eax, dword [0x18015b178]
mov dword [rbp - 0x59], eax
mov r8d, r15d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x18009aec7
movdqa xmm5, xmmword [0x18015bd60]
movdqa xmm4, xmmword [0x18015bfd0]
mov eax, 5
movd xmm6, eax
movdqa xmm7, xmmword [0x18015bdf0]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm9, xmmword [0x18015be70]
lea rcx, [rbp - 0x79]
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
paddd xmm1, xmm2
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 xmm3, xmm1, 0xd8
movq xmm2, xmm9
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r8 + 4]
movd xmm2, eax
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
paddd xmm1, xmm2
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 xmm3, xmm1, 0xd8
movq xmm2, xmm9
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r8d, 8
lea rcx, [rcx + 0x10]
cmp r8d, 0x10
jl 0x18009add0
cmp r8d, 0x12
jge 0x18009af17
movsxd rax, r8d
lea r9, [rbp - 0x79]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x39
movzx eax, r8w
sub ax, cx
add ax, 0x33
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x12
jl 0x18009aee0
lea rax, [rbp - 0x79]
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18009af20
mov rcx, qword [rbp - 0x41]
sub rdi, rcx
cmp rdi, rbx
jb 0x18009b39e
lea rax, [rbp - 0x51]
cmp r11, 8
cmovae rax, r10
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x79]
lea rcx, [rbp - 0x31]
call fcn.1800079c0
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009afa2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009af9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009b38c
call fcn.1800b9f6c
movups xmm1, xmmword [rbp - 0x31]
movups xmmword [rbp - 0x51], xmm1
movups xmm0, xmmword [rbp - 0x21]
movups xmmword [rbp - 0x41], xmm0
psrldq xmm0, 8
movq r11, xmm0
movq r10, xmm1
jmp 0x18009ac7e
cmp rsi, 0xffffffff80000003
jne 0x18009ac7e
movups xmm9, xmmword [str.ofPQKMHB_hmz]
movups xmmword [rbp - 0x79], xmm9
movsd xmm0, qword [0x18015b190]
movsd qword [rbp - 0x69], xmm0
mov eax, dword [0x18015b198]
mov dword [rbp - 0x61], eax
movzx eax, word [0x18015b19c]
mov word [rbp - 0x5d], ax
mov r8d, r15d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x18009b112
movdqa xmm4, xmmword [0x18015bfd0]
mov eax, 5
movd xmm6, eax
mov eax, 0x1f
movd xmm5, eax
movdqa xmm8, xmmword [0x18015be70]
movdqa xmm2, xmmword [0x18015bd60]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18015bdf0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm8
paddw xmm3, xmm2
movq xmm1, xmm9
xorps xmm3, xmm1
movq qword [rbp - 0x79], xmm3
movdqa xmm2, xmmword [0x18015bd70]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18015bdf0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm8
paddw xmm3, xmm2
movq xmm0, qword [rbp - 0x71]
xorps xmm3, xmm0
movq qword [rbp - 0x71], xmm3
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x79]
lea r9, [r9 + rax*2]
nop dword [rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x39
movzx eax, r8w
sub ax, cx
add ax, 0x33
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0xf
jl 0x18009b120
lea rax, [rbp - 0x79]
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18009b160
mov rcx, qword [rbp - 0x41]
sub rdi, rcx
cmp rdi, rbx
jb 0x18009b39e
lea rax, [rbp - 0x51]
cmp r11, 8
cmovae rax, r10
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x79]
lea rcx, [rbp - 0x31]
call fcn.1800079c0
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009afa2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009af9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009b38c
jmp 0x18009af9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x18009b289
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x18009b289
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x43d77d7c
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x18009b284
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x18009b250
cmp r10d, 0xaa1949c8
je 0x18009b291
test r11d, r11d
jne 0x18009b230
mov rax, qword [rax]
jmp 0x18009b200
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
lea rdx, [rbp + 0x77]
mov ecx, 0x2000000
call r8
test eax, eax
je 0x18009ac76
mov r15d, 2
jmp 0x18009b317
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov edx, dword [rcx + rax*4]
add rdx, rbx
mov rcx, qword [rbp + 0x77]
call rdx
lea rax, [rbp - 0x51]
mov qword [rbp - 0x41], r15
test r12d, r12d
je 0x18009b309
cmp qword [rbp - 0x39], 8
cmovae rax, qword [rbp - 0x51]
mov word [rax], r15w
mov r15d, 3
jmp 0x18009b317
cmp qword [rbp - 0x39], 8
cmovae rax, qword [rbp - 0x51]
mov word [rax], r15w
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009b353
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009b34e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009b386
call fcn.1800b9f6c
mov eax, r15d
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.1800c5e04
nop
call fcn.1800c5e04
nop
call fcn.180001570
int3
call fcn.1800c5e04
nop
call fcn.180001570
int3