Function at 0x18009e980
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 0x18009e9c7
lea eax, [r8 + 1]
jmp 0x18009f366
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 0x18009e9e4
lea rcx, [rbp - 0x51]
call fcn.180008da0
nop
cmp rsi, 0xffffffff80000001
je 0x18009f1fa
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 0x18009eacf
mov rax, rdi
mov rcx, qword [rbp - 0x41]
sub rax, rcx
cmp rax, 1
jb 0x18009f3ae
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, [0x18015aa30]
lea rcx, [rbp - 0x31]
call fcn.180009cd0
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009eab0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009eaab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009f39c
call fcn.1800bdc0c
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 0x18009ed64
call fcn.1800a0830
lea rdx, [0x180362018]
lea rcx, [rbp - 0x31]
call fcn.180007680
nop
lea rdx, [rbp - 0x31]
cmp qword [rbp - 0x19], 8
jb 0x18009eb06
mov rdx, qword [rbp - 0x31]
test rdx, rdx
je 0x18009eb47
mov r9d, r15d
cmp word [rdx], r9w
je 0x18009eb47
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 0x18009eb3e
mov word [r10 + rdx], cx
cmp word [r10 + rdx + 2], 0
jne 0x18009eb20
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 0x18009eb56
mov r8, rbx
lea rcx, [rbp - 0x79]
call fcn.180008da0
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x18009ebae
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009eba8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009f39c
call fcn.1800bdc0c
nop
mov rcx, qword [rbp - 0x69]
sub rdi, rcx
mov rdx, qword [rbp - 0x41]
cmp rdi, rdx
jb 0x18009f3a2
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.180009cd0
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009ec36
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009ec31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009f3a8
call fcn.1800bdc0c
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 0x18009ec86
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x79]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009ec81
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009f39c
call fcn.1800bdc0c
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.1800a02e0
mov r12d, eax
cmp qword [rbp + 0x77], 0
je 0x18009f2f6
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 0x18009ed5c
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x18009ed5c
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, 0xda4cdce7
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x18009ed57
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 0x18009ed20
cmp r10d, 0x5cbbbd5b
je 0x18009f2d7
test r11d, r11d
jne 0x18009ed00
mov rax, qword [rax]
jmp 0x18009ecd0
cmp rsi, 0xffffffff80000002
jne 0x18009efd6
movups xmm0, xmmword [0x18015f500]
movups xmmword [rbp - 0x79], xmm0
movups xmm1, xmmword [0x18015f510]
movups xmmword [rbp - 0x69], xmm1
mov eax, dword [0x18015f520]
mov dword [rbp - 0x59], eax
mov r8d, r15d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x18009eed7
movdqa xmm5, xmmword [0x1801600f0]
movdqa xmm4, xmmword [0x180160360]
mov eax, 5
movd xmm6, eax
movdqa xmm7, xmmword [0x180160170]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm9, xmmword [0x180160200]
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 0x18009ede0
cmp r8d, 0x12
jge 0x18009ef27
movsxd rax, r8d
lea r9, [rbp - 0x79]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x38
movzx eax, r8w
sub ax, cx
add ax, 0x35
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x12
jl 0x18009eef0
lea rax, [rbp - 0x79]
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18009ef30
mov rcx, qword [rbp - 0x41]
sub rdi, rcx
cmp rdi, rbx
jb 0x18009f3ae
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.180009cd0
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009efb2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009efad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009f39c
call fcn.1800bdc0c
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 0x18009ec8e
cmp rsi, 0xffffffff80000003
jne 0x18009ec8e
movups xmm9, xmmword [str.idR_PIONDbj]
movups xmmword [rbp - 0x79], xmm9
movsd xmm0, qword [0x18015f4f0]
movsd qword [rbp - 0x69], xmm0
mov eax, dword [0x18015f4f8]
mov dword [rbp - 0x61], eax
movzx eax, word [0x18015f4fc]
mov word [rbp - 0x5d], ax
mov r8d, r15d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x18009f122
movdqa xmm4, xmmword [0x180160360]
mov eax, 5
movd xmm6, eax
mov eax, 0x1f
movd xmm5, eax
movdqa xmm8, xmmword [0x180160200]
movdqa xmm2, xmmword [0x1801600f0]
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 [0x180160170]
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 [0x180160100]
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 [0x180160170]
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, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x38
movzx eax, r8w
sub ax, cx
add ax, 0x35
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0xf
jl 0x18009f130
lea rax, [rbp - 0x79]
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18009f170
mov rcx, qword [rbp - 0x41]
sub rdi, rcx
cmp rdi, rbx
jb 0x18009f3ae
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.180009cd0
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009efb2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009efad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009f39c
jmp 0x18009efad
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 0x18009f299
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x18009f299
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, 0x47006eb0
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x18009f294
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 0x18009f260
cmp r10d, 0x6277c4f4
je 0x18009f2a1
test r11d, r11d
jne 0x18009f240
mov rax, qword [rax]
jmp 0x18009f210
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 0x18009ec86
mov r15d, 2
jmp 0x18009f327
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 0x18009f319
cmp qword [rbp - 0x39], 8
cmovae rax, qword [rbp - 0x51]
mov word [rax], r15w
mov r15d, 3
jmp 0x18009f327
cmp qword [rbp - 0x39], 8
cmovae rax, qword [rbp - 0x51]
mov word [rax], r15w
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009f363
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009f35e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009f396
call fcn.1800bdc0c
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.1800c9ad0
nop
call fcn.1800c9ad0
nop
call fcn.180003190
int3
call fcn.1800c9ad0
nop
call fcn.180003190
int3