Function at 0x18006e0ac
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 - 0x5f]
sub rsp, 0xb0
movaps xmmword [rax - 0x38], xmm6
xor r12d, r12d
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x1801c0ba8]
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm14
mov rcx, qword [rax]
test rcx, rcx
je 0x18006e8ba
mov rbx, qword [rcx + 8]
test rbx, rbx
je 0x18006e8ba
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18006e8ba
mov rax, qword [0x1801c0bb0]
mov rcx, qword [rax]
test rcx, rcx
je 0x18006e8ba
cmp qword [rcx + 0x10], r12
je 0x18006e8ba
cmp byte [0x1801c13f6], r12b
movsd xmm0, qword [rbx + 0x90]
mov r15d, dword [rbx + 0x98]
movsd qword [rbp - 0x49], xmm0
je 0x18006e18c
cmp byte [0x1801c0c11], r12b
mov eax, dword [0x1801c0be8]
movd xmm0, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm0, xmm0
mov rcx, qword [rax + rbx]
je 0x18006e184
movss dword [rcx + 0xd40], xmm0
jmp 0x18006e18c
movss dword [rcx + 0xcf0], xmm0
mov eax, dword [0x1801c0c08]
cmp byte [rax + rbx], 0x40
je 0x18006e8ba
movss xmm0, dword [0x1800c5a78]
comiss xmm0, dword [rbx + 0x280]
ja 0x18006e8ba
mov rax, qword [0x1801c1430]
test rax, rax
jne 0x18006e256
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov r10, rdi
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18006e23b
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18006e23b
mov r14d, dword [r9 + 0x20]
dec edx
mov r11d, 0x811c9dc5
lea rax, [r14 + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
inc rcx
test al, al
je 0x18006e237
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
inc rcx
test al, al
jne 0x18006e218
cmp r11d, 0x95466b05
je 0x18006e282
test edx, edx
jne 0x18006e1fc
mov rax, qword [r10]
mov r10, rax
cmp rax, rdi
je 0x18006e24c
cmp qword [rax + 0x30], r12
jne 0x18006e1d8
mov rax, r12
mov qword [0x1801c1430], rax
mov ecx, 0xa0
call rax
cmp byte [0x1801c13fb], r12b
mov byte [0x1801c1414], 1
je 0x18006e868
mov rcx, qword [0x1801c0bc0]
test rcx, rcx
je 0x18006e29c
mov rcx, qword [rcx]
jmp 0x18006e29f
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18006e24f
mov rcx, r12
mov rax, qword [rbx + 0x30]
mov dword [rax + 0x30], 0x3f800000
movsd xmm0, qword [rcx + 0x3d0]
mov eax, dword [rcx + 0x3d8]
movsd qword [rbp - 0x59], xmm0
xorps xmm0, xmm0
movss xmm11, dword [rbp - 0x59]
ucomiss xmm11, xmm0
mov dword [rbp - 0x51], eax
movss xmm8, dword [rbp - 0x55]
jp 0x18006e307
jne 0x18006e307
ucomiss xmm8, xmm0
jp 0x18006e307
jne 0x18006e307
movd xmm6, eax
ucomiss xmm6, xmm0
jp 0x18006e30c
jne 0x18006e30c
movsd xmm0, qword [rcx + 0x40]
movss xmm6, dword [rcx + 0x48]
movsd qword [rbp - 0x59], xmm0
movss xmm8, dword [rbp - 0x55]
movss xmm11, dword [rbp - 0x59]
jmp 0x18006e30c
movss xmm6, dword [rbp - 0x51]
mov rax, qword [0x1801c1430]
movss xmm9, dword [rbp - 0x49]
movss xmm10, dword [rbp - 0x45]
movd xmm14, r15d
or r15d, 0xffffffff
movaps xmm7, xmm14
test rax, rax
jne 0x18006e3cf
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r10, rsi
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18006e3b4
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18006e3b4
mov r14d, dword [r9 + 0x20]
add edx, r15d
mov r11d, 0x811c9dc5
lea rax, [r14 + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
inc rcx
test al, al
je 0x18006e3b0
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
inc rcx
test al, al
jne 0x18006e38d
cmp r11d, 0x95466b05
je 0x18006e7d7
test edx, edx
jne 0x18006e370
mov rax, qword [r10]
mov r10, rax
cmp rax, rsi
je 0x18006e3c5
cmp qword [rax + 0x30], r12
jne 0x18006e34c
mov rax, r12
mov qword [0x1801c1430], rax
mov ecx, dword [str.WADS]
call rax
test ax, ax
jns 0x18006e40e
movss xmm0, dword [0x1801bff38]
movaps xmm9, xmm11
movaps xmm10, xmm8
mulss xmm9, xmm0
movaps xmm7, xmm6
mulss xmm10, xmm0
addss xmm9, dword [rbp - 0x49]
mulss xmm7, xmm0
addss xmm10, dword [rbp - 0x45]
addss xmm7, xmm14
mov rax, qword [0x1801c1430]
test rax, rax
jne 0x18006e4b8
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r10, rsi
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18006e49d
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18006e49d
mov r14d, dword [r9 + 0x20]
add edx, r15d
mov r11d, 0x811c9dc5
lea rax, [r14 + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
inc rcx
test al, al
je 0x18006e499
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
inc rcx
test al, al
jne 0x18006e476
cmp r11d, 0x95466b05
je 0x18006e7f4
test edx, edx
jne 0x18006e459
mov rax, qword [r10]
mov r10, rax
cmp rax, rsi
je 0x18006e4ae
cmp qword [rax + 0x30], r12
jne 0x18006e435
mov rax, r12
mov qword [0x1801c1430], rax
mov ecx, dword [0x1801bff34]
call rax
test ax, ax
jns 0x18006e4f2
movss xmm2, dword [0x1801bff38]
movaps xmm0, xmm11
mulss xmm0, xmm2
movaps xmm1, xmm6
mulss xmm1, xmm2
subss xmm9, xmm0
movaps xmm0, xmm8
mulss xmm0, xmm2
subss xmm7, xmm1
subss xmm10, xmm0
mov rax, qword [0x1801c1430]
test rax, rax
jne 0x18006e59c
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r10, rsi
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18006e581
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18006e581
mov r14d, dword [r9 + 0x20]
add edx, r15d
mov r11d, 0x811c9dc5
lea rax, [r14 + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
inc rcx
test al, al
je 0x18006e57d
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
inc rcx
test al, al
jne 0x18006e55a
cmp r11d, 0x95466b05
je 0x18006e811
test edx, edx
jne 0x18006e53d
mov rax, qword [r10]
mov r10, rax
cmp rax, rsi
je 0x18006e592
cmp qword [rax + 0x30], r12
jne 0x18006e519
mov rax, r12
mov qword [0x1801c1430], rax
mov ecx, dword [0x1801bff2c]
call rax
test ax, ax
jns 0x18006e5d6
movss xmm2, dword [0x1801bff38]
movaps xmm0, xmm8
mulss xmm0, xmm2
movaps xmm1, xmm6
mulss xmm1, xmm2
subss xmm9, xmm0
movaps xmm0, xmm11
mulss xmm0, xmm2
addss xmm7, xmm1
addss xmm10, xmm0
mov rax, qword [0x1801c1430]
test rax, rax
jne 0x18006e680
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r10, rsi
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18006e665
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18006e665
mov r14d, dword [r9 + 0x20]
add edx, r15d
mov r11d, 0x811c9dc5
lea rax, [r14 + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
inc rcx
test al, al
je 0x18006e661
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
inc rcx
test al, al
jne 0x18006e63e
cmp r11d, 0x95466b05
je 0x18006e82e
test edx, edx
jne 0x18006e621
mov rax, qword [r10]
mov r10, rax
cmp rax, rsi
je 0x18006e676
cmp qword [rax + 0x30], r12
jne 0x18006e5fd
mov rax, r12
mov qword [0x1801c1430], rax
mov ecx, dword [0x1801bff30]
call rax
test ax, ax
jns 0x18006e6b4
movss xmm1, dword [0x1801bff38]
movaps xmm0, xmm6
mulss xmm8, xmm1
mulss xmm11, xmm1
mulss xmm0, xmm1
addss xmm9, xmm8
subss xmm10, xmm11
subss xmm7, xmm0
mov rax, qword [0x1801c1430]
test rax, rax
jne 0x18006e75e
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r10, rsi
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18006e743
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18006e743
mov r14d, dword [r9 + 0x20]
add edx, r15d
mov r11d, 0x811c9dc5
lea rax, [r14 + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
inc rcx
test al, al
je 0x18006e73f
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
inc rcx
test al, al
jne 0x18006e71c
cmp r11d, 0x95466b05
je 0x18006e84b
test edx, edx
jne 0x18006e6ff
mov rax, qword [r10]
mov r10, rax
cmp rax, rsi
je 0x18006e754
cmp qword [rax + 0x30], r12
jne 0x18006e6db
mov rax, r12
mov qword [0x1801c1430], rax
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call rax
test ax, ax
jns 0x18006e776
mulss xmm6, dword [0x1801bff38]
addss xmm7, xmm6
movss xmm0, dword [0x1800c3ea8]
subss xmm7, xmm14
subss xmm9, dword [rbp - 0x49]
subss xmm10, dword [rbp - 0x45]
mulss xmm7, xmm0
mulss xmm9, xmm0
mulss xmm10, xmm0
addss xmm7, xmm14
addss xmm9, dword [rbp - 0x49]
addss xmm10, dword [rbp - 0x45]
movaps xmm0, xmm9
unpcklps xmm0, xmm10
movsd qword [rbx + 0x90], xmm0
movss dword [rbx + 0x98], xmm7
movsd qword [r13 + 0x50], xmm0
movss dword [r13 + 0x58], xmm7
jmp 0x18006e8ba
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18006e3c8
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18006e4b1
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18006e595
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18006e679
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18006e757
xorps xmm2, xmm2
xorps xmm0, xmm0
unpcklps xmm0, xmm2
movsd qword [rbx + 0x320], xmm0
movss dword [rbx + 0x328], xmm2
cmp byte [0x1801c13f6], r12b
je 0x18006e8ba
cmp byte [0x1801c0c11], r12b
mov eax, dword [0x1801c0be8]
movd xmm0, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm0, xmm0
mov rcx, qword [rax + rbx]
je 0x18006e8b2
movss dword [rcx + 0xd40], xmm0
jmp 0x18006e8ba
movss dword [rcx + 0xcf0], xmm0
lea r11, [rsp + 0xb0]
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]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm14, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret