Function at 0x18009a430
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 0x18009a477
lea eax, [r8 + 1]
jmp 0x18009ae06
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 0x18009a494
lea rcx, [rbp - 0x51]
call fcn.180006af0
nop
cmp rsi, 0xffffffff80000001
je 0x18009ac9a
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 0x18009a57f
mov rax, rdi
mov rcx, qword [rbp - 0x41]
sub rax, rcx
cmp rax, 1
jb 0x18009ae4e
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, [0x180156730]
lea rcx, [rbp - 0x31]
call fcn.1800079c0
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009a560
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009a55b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009ae3c
call fcn.1800b98ec
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 0x18009a814
call fcn.18009c2d0
lea rdx, [0x18035bc18]
lea rcx, [rbp - 0x31]
call fcn.1800053e0
nop
lea rdx, [rbp - 0x31]
cmp qword [rbp - 0x19], 8
jb 0x18009a5b6
mov rdx, qword [rbp - 0x31]
test rdx, rdx
je 0x18009a5f7
mov r9d, r15d
cmp word [rdx], r9w
je 0x18009a5f7
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 0x18009a5ee
mov word [r10 + rdx], cx
cmp word [r10 + rdx + 2], 0
jne 0x18009a5d0
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 0x18009a606
mov r8, rbx
lea rcx, [rbp - 0x79]
call fcn.180006af0
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x18009a65e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009a658
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009ae3c
call fcn.1800b98ec
nop
mov rcx, qword [rbp - 0x69]
sub rdi, rcx
mov rdx, qword [rbp - 0x41]
cmp rdi, rdx
jb 0x18009ae42
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 0x18009a6e6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009a6e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009ae48
call fcn.1800b98ec
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 0x18009a736
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x79]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009a731
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009ae3c
call fcn.1800b98ec
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.18009bd80
mov r12d, eax
cmp qword [rbp + 0x77], 0
je 0x18009ad96
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 0x18009a80c
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x18009a80c
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0x8c999c51
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x18009a807
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 0x18009a7d0
cmp r10d, 0x44c6b0e1
je 0x18009ad77
test r11d, r11d
jne 0x18009a7b0
mov rax, qword [rax]
jmp 0x18009a780
cmp rsi, 0xffffffff80000002
jne 0x18009aa76
movups xmm0, xmmword [str.hgSPQJNIEas___E]
movups xmmword [rbp - 0x79], xmm0
movups xmm1, xmmword [0x18015b150]
movups xmmword [rbp - 0x69], xmm1
mov eax, dword [0x18015b160]
mov dword [rbp - 0x59], eax
mov r8d, r15d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x18009a97f
movdqa xmm5, xmmword [0x18015bd50]
movdqa xmm4, xmmword [0x18015bf40]
mov eax, 4
movd xmm6, eax
movdqa xmm7, xmmword [0x18015bd70]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm9, xmmword [0x18015be60]
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
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
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 0x18009a890
cmp r8d, 0x12
jge 0x18009a9c4
movsxd rax, r8d
lea r9, [rbp - 0x79]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x51eb851f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
sub ax, cx
add ax, 0x34
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x12
jl 0x18009a990
lea rax, [rbp - 0x79]
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18009a9d0
mov rcx, qword [rbp - 0x41]
sub rdi, rcx
cmp rdi, rbx
jb 0x18009ae4e
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 0x18009aa52
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009aa4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009ae3c
call fcn.1800b98ec
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 0x18009a73e
cmp rsi, 0xffffffff80000003
jne 0x18009a73e
movups xmm9, xmmword [str.hgSPQJNIEakl]
movups xmmword [rbp - 0x79], xmm9
movsd xmm0, qword [0x18015b178]
movsd qword [rbp - 0x69], xmm0
mov eax, dword [0x18015b180]
mov dword [rbp - 0x61], eax
movzx eax, word [0x18015b184]
mov word [rbp - 0x5d], ax
mov r8d, r15d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x18009abba
movdqa xmm4, xmmword [0x18015bf40]
mov eax, 4
movd xmm6, eax
mov eax, 0x1f
movd xmm5, eax
movdqa xmm8, xmmword [0x18015be60]
movdqa xmm2, xmmword [0x18015bd50]
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, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18015bd70]
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 [0x18015bd60]
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, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18015bd70]
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 word [rax + rax]
mov eax, 0x51eb851f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
sub ax, cx
add ax, 0x34
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0xf
jl 0x18009abd0
lea rax, [rbp - 0x79]
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18009ac10
mov rcx, qword [rbp - 0x41]
sub rdi, rcx
cmp rdi, rbx
jb 0x18009ae4e
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 0x18009aa52
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009aa4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009ae3c
jmp 0x18009aa4d
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 0x18009ad39
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x18009ad39
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, 0xb4c08716
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x18009ad34
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 0x18009ad00
cmp r10d, 0xe4275f56
je 0x18009ad41
test r11d, r11d
jne 0x18009ace0
mov rax, qword [rax]
jmp 0x18009acb0
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 0x18009a736
mov r15d, 2
jmp 0x18009adc7
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 0x18009adb9
cmp qword [rbp - 0x39], 8
cmovae rax, qword [rbp - 0x51]
mov word [rax], r15w
mov r15d, 3
jmp 0x18009adc7
cmp qword [rbp - 0x39], 8
cmovae rax, qword [rbp - 0x51]
mov word [rax], r15w
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x18009ae03
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009adfe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009ae36
call fcn.1800b98ec
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.1800c5784
nop
call fcn.1800c5784
nop
call fcn.180001570
int3
call fcn.1800c5784
nop
call fcn.180001570
int3