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

Disassembly:
mov r11, rsp
sub rsp, 0xa8
cmp byte [0x180226c9a], 0
je 0x180037205
mov rax, qword [0x180227358]
mov rcx, qword [rax]
test rcx, rcx
je 0x180037205
mov qword [r11 + 0x18], rbp
mov rbp, qword [rcx + 8]
test rbp, rbp
je 0x1800371fd
mov qword [r11 - 0x10], r14
mov r14, qword [rbp + 0x30]
test r14, r14
je 0x1800371f5
movsd xmm0, qword [rbp + 0x90]
movsd qword [rsp + 0x40], xmm0
movss xmm0, dword [0x1801a827c]
comiss xmm0, dword [rbp + 0x280]
mov qword [r11 + 0x20], rsi
mov esi, dword [rbp + 0x98]
ja 0x1800371ed
mov rax, qword gs:[0x60]
mov qword [r11 + 0x10], rbx
mov qword [r11 - 8], rdi
mov qword [r11 - 0x18], r15
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800369a7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800369a7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xccd79f58
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800369a2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180036980
cmp r8d, 0x6bf2ea88
je 0x1800369ac
test r9d, r9d
jne 0x180036960
mov rax, qword [rax]
jmp 0x180036930
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, dword [0x180207540]
add rax, r10
call rax
test ax, ax
setne byte [0x18022662e]
test ax, ax
je 0x1800369e7
movd xmm0, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm0, xmm0
jmp 0x1800369ef
movss xmm0, dword [0x1801a81c0]
mov rax, qword gs:[0x60]
movss dword [0x1802074b8], xmm0
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180036a87
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180036a87
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x3bfa0d0b
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180036a82
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180036a60
cmp r8d, 0xe8b575ab
je 0x180036a8c
test r9d, r9d
jne 0x180036a40
mov rax, qword [rax]
jmp 0x180036a10
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, dword [0x180207544]
add rax, r10
call rax
xor r15d, r15d
test ax, ax
je 0x180036ac8
cmp dword [reloc.WS2_32.dll_accept], r15d
mov eax, r15d
sete al
mov dword [reloc.WS2_32.dll_accept], eax
jmp 0x180036ace
mov eax, dword [reloc.WS2_32.dll_accept]
test eax, eax
je 0x1800371d5
movaps xmmword [rsp + 0x80], xmm6
movabs rcx, 0xd80958fc74e988a6
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm8
movaps xmmword [rsp + 0x50], xmm9
call fcn.18001f1e0
xor r8d, r8d
mov edx, eax
movabs rcx, 0x997abd671d25ca0b
mov ebx, eax
call fcn.18001f390
test eax, eax
je 0x180036b29
mov edx, ebx
movabs rcx, 0x6094ad011a2ea87d
call fcn.18001f2a0
xorps xmm9, xmm9
xorps xmm3, xmm3
xorps xmm2, xmm2
movss dword [rsp + 0x20], xmm9
mov edx, ebx
movabs rcx, 0x1c99bb7b6e96d16f
call fcn.180020210
mov dword [rsp + 0x30], r15d
xorps xmm3, xmm3
mov dword [rsp + 0x28], r15d
xorps xmm2, xmm2
mov edx, ebx
movss dword [rsp + 0x20], xmm9
movabs rcx, 0x8524a8b0171d5e07
call fcn.180020360
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180036c07
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180036c07
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x79e58af3
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180036c02
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180036be0
cmp r8d, 0x17e3e0d3
je 0x180036c0c
test r9d, r9d
jne 0x180036bc0
mov rax, qword [rax]
jmp 0x180036b90
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, 0x57
add rax, r10
call rax
movss xmm8, dword [rsp + 0x44]
movss xmm6, dword [rsp + 0x40]
movd xmm7, esi
test ax, ax
jns 0x180036d1f
mov qword [rbp + 0x320], r15
mov dword [rbp + 0x328], r15d
mov rax, qword [0x180227370]
test rax, rax
je 0x180036c63
mov rcx, qword [rax]
jmp 0x180036c6b
mov rcx, qword [rsp + 0xb0]
movsd xmm1, qword [rcx + 0x3d0]
movss xmm4, dword [0x1802074b8]
movaps xmm0, xmm1
movaps xmm3, xmm4
shufps xmm0, xmm0, 0x55
mulss xmm3, xmm1
movaps xmm2, xmm4
mulss xmm4, dword [rcx + 0x3d8]
addss xmm3, xmm6
mulss xmm2, xmm0
addss xmm4, xmm7
addss xmm2, xmm8
movss dword [rbp + 0x90], xmm3
movaps xmm1, xmm3
movss dword [rbp + 0x94], xmm2
movss dword [rbp + 0x98], xmm4
unpcklps xmm1, xmm2
movsd qword [r14 + 0x50], xmm1
movss dword [r14 + 0x58], xmm4
mov eax, dword [0x18022738c]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x180036d1f
movsd xmm0, qword [rcx + 0x90]
ucomiss xmm0, xmm9
jp 0x180036cee
je 0x180036d1f
mov rax, qword [rcx + 0x30]
mov qword [rcx + 0x320], r15
mov dword [rcx + 0x328], r15d
movsd qword [rcx + 0x90], xmm1
movss dword [rcx + 0x98], xmm4
test rax, rax
je 0x180036d1f
movsd qword [rax + 0x50], xmm1
movss dword [rax + 0x58], xmm4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180036da7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180036da7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x99b108f9
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180036da2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180036d80
cmp r8d, 0x269a92d9
je 0x180036dac
test r9d, r9d
jne 0x180036d60
mov rax, qword [rax]
jmp 0x180036d30
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, 0x53
add rax, r10
call rax
test ax, ax
jns 0x180036eb8
mov qword [rbp + 0x320], r15
mov dword [rbp + 0x328], r15d
mov rax, qword [0x180227370]
test rax, rax
je 0x180036df2
mov rcx, qword [rax]
jmp 0x180036dfa
mov rcx, qword [rsp + 0xb0]
movsd xmm1, qword [rcx + 0x3d0]
movaps xmm4, xmm6
movss xmm2, dword [0x1802074b8]
movaps xmm0, xmm1
mulss xmm0, xmm2
movaps xmm3, xmm8
subss xmm4, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movaps xmm1, xmm7
mulss xmm0, xmm2
subss xmm3, xmm0
movss xmm0, dword [rcx + 0x3d8]
movss dword [rbp + 0x90], xmm4
mulss xmm0, xmm2
movaps xmm2, xmm4
movss dword [rbp + 0x94], xmm3
subss xmm1, xmm0
unpcklps xmm2, xmm3
movss dword [rbp + 0x98], xmm1
movsd qword [r14 + 0x50], xmm2
movss dword [r14 + 0x58], xmm1
mov eax, dword [0x18022738c]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x180036eb8
movsd xmm0, qword [rcx + 0x90]
ucomiss xmm0, xmm9
jp 0x180036e87
je 0x180036eb8
mov rax, qword [rcx + 0x30]
mov qword [rcx + 0x320], r15
mov dword [rcx + 0x328], r15d
movsd qword [rcx + 0x90], xmm2
movss dword [rcx + 0x98], xmm1
test rax, rax
je 0x180036eb8
movsd qword [rax + 0x50], xmm2
movss dword [rax + 0x58], xmm1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180036f47
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180036f47
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x732107ad
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180036f42
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180036f20
cmp r8d, 0x95c715ed
je 0x180036f4c
test r9d, r9d
jne 0x180036f00
mov rax, qword [rax]
jmp 0x180036ed0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, 0x44
add rax, r10
call rax
test ax, ax
jns 0x18003703f
mov qword [rbp + 0x320], r15
mov dword [rbp + 0x328], r15d
mov rax, qword [0x180227370]
test rax, rax
je 0x180036f92
mov rax, qword [rax]
jmp 0x180036f9a
mov rax, qword [rsp + 0xb0]
movsd xmm2, qword [rax + 0x3d0]
movaps xmm1, xmm8
movaps xmm3, xmm2
mulss xmm2, dword [0x1802074b8]
shufps xmm3, xmm3, 0x55
mulss xmm3, dword [0x1802074b8]
subss xmm1, xmm2
addss xmm3, xmm6
movss dword [rbp + 0x90], xmm3
movaps xmm2, xmm3
movss dword [rbp + 0x94], xmm1
movss dword [rbp + 0x98], xmm7
unpcklps xmm2, xmm1
movsd qword [r14 + 0x50], xmm2
movss dword [r14 + 0x58], xmm7
mov eax, dword [0x18022738c]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x18003703f
movsd xmm0, qword [rcx + 0x90]
ucomiss xmm0, xmm9
jp 0x18003700e
je 0x18003703f
mov rax, qword [rcx + 0x30]
mov qword [rcx + 0x320], r15
mov dword [rcx + 0x328], r15d
movsd qword [rcx + 0x90], xmm2
movss dword [rcx + 0x98], xmm7
test rax, rax
je 0x18003703f
movsd qword [rax + 0x50], xmm2
movss dword [rax + 0x58], xmm7
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800370c7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800370c7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xd24fcc39
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800370c2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800370a0
cmp r8d, 0xee718119
je 0x1800370cc
test r9d, r9d
jne 0x180037080
mov rax, qword [rax]
jmp 0x180037050
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, 0x41
add rax, r10
call rax
test ax, ax
jns 0x1800371bc
mov qword [rbp + 0x320], r15
mov dword [rbp + 0x328], r15d
mov rax, qword [0x180227370]
test rax, rax
je 0x180037112
mov rax, qword [rax]
jmp 0x18003711a
mov rax, qword [rsp + 0xb0]
movsd xmm2, qword [rax + 0x3d0]
movaps xmm0, xmm2
mulss xmm2, dword [0x1802074b8]
shufps xmm0, xmm0, 0x55
mulss xmm0, dword [0x1802074b8]
addss xmm2, xmm8
subss xmm6, xmm0
movss dword [rbp + 0x90], xmm6
movaps xmm1, xmm6
movss dword [rbp + 0x94], xmm2
movss dword [rbp + 0x98], xmm7
unpcklps xmm1, xmm2
movsd qword [r14 + 0x50], xmm1
movss dword [r14 + 0x58], xmm7
mov eax, dword [0x18022738c]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x1800371bc
movsd xmm0, qword [rcx + 0x90]
ucomiss xmm0, xmm9
jp 0x18003718b
je 0x1800371bc
mov rax, qword [rcx + 0x30]
mov qword [rcx + 0x320], r15
mov dword [rcx + 0x328], r15d
movsd qword [rcx + 0x90], xmm1
movss dword [rcx + 0x98], xmm7
test rax, rax
je 0x1800371bc
movsd qword [rax + 0x50], xmm1
movss dword [rax + 0x58], xmm7
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x50]
mov rbx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xc8]
mov r14, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xc0]
add rsp, 0xa8
ret