Function at 0x180045590
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, 0xe8
mov rax, qword [0x180202f48]
mov rcx, qword [rax]
test rcx, rcx
je 0x180045f24
mov qword [r11 + 0x18], rbp
mov rbp, qword [rcx + 8]
test rbp, rbp
je 0x180045f1c
mov qword [r11 - 0x10], r14
mov r14, qword [rbp + 0x30]
test r14, r14
je 0x180045f14
mov rax, qword [0x180202f18]
mov rcx, qword [rax]
test rcx, rcx
je 0x180045f14
cmp qword [rcx + 0x10], 0
je 0x180045f14
cmp byte [0x180202d6c], 0
movsd xmm0, qword [rbp + 0x90]
mov eax, dword [rbp + 0x98]
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], eax
je 0x18004563e
cmp byte [0x180202f08], 0
mov eax, dword [0x180202f38]
movd xmm0, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm0, xmm0
mov rcx, qword [rax + rbp]
je 0x180045636
movss dword [rcx + 0xd40], xmm0
jmp 0x18004563e
movss dword [rcx + 0xcf0], xmm0
mov eax, dword [0x180202f3c]
cmp byte [rax + rbp], 0x40
je 0x180045f14
movss xmm0, dword [0x1800e9b2c]
comiss xmm0, dword [rbp + 0x280]
ja 0x180045f14
mov rax, qword [0x180202df0]
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0xe0], rdi
test rax, rax
jne 0x180045747
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x180045728
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045728
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180045723
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180045700
cmp edx, 0x95466b05
je 0x1800457ad
test r8d, r8d
jne 0x1800456e0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x18004573e
cmp qword [rax + 0x30], 0
jne 0x1800456b0
xor eax, eax
mov qword [0x180202df0], rax
mov ecx, 0xa0
call rax
cmp byte [0x180202d61], 0
mov byte [0x180202d6f], 1
je 0x180045ea0
mov rcx, qword [0x180202f20]
mov qword [rsp + 0xd0], r15
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm8
movaps xmmword [rsp + 0x80], xmm10
movaps xmmword [rsp + 0x70], xmm11
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm13
movaps xmmword [rsp + 0x40], xmm14
test rcx, rcx
je 0x1800457cb
mov rcx, qword [rcx]
jmp 0x1800457d3
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x180045740
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rbp + 0x30]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0x90], xmm9
mov dword [rax + 0x30], 0x3f800000
movsd xmm7, qword [rcx + 0x3d0]
ucomiss xmm7, xmm0
mov eax, dword [rcx + 0x3d8]
mov dword [rsp + 0x28], eax
movsd qword [rsp + 0x20], xmm7
movss xmm6, dword [rsp + 0x24]
jp 0x18004584f
jne 0x18004584f
ucomiss xmm6, xmm0
jp 0x18004584f
jne 0x18004584f
movss xmm9, dword [rsp + 0x28]
ucomiss xmm9, xmm0
jp 0x180045856
jne 0x180045856
movsd xmm1, qword [rcx + 0x40]
mov eax, dword [rcx + 0x48]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movsd qword [rsp + 0x20], xmm1
movaps xmm6, xmm0
movss xmm7, dword [rsp + 0x20]
mov dword [rsp + 0x28], eax
movss xmm9, dword [rsp + 0x28]
mov rax, qword [0x180202df0]
movss xmm12, dword [rsp + 0x30]
movss xmm13, dword [rsp + 0x34]
movaps xmm10, xmm12
movss xmm14, dword [rsp + 0x38]
movaps xmm11, xmm13
movaps xmm8, xmm14
test rax, rax
jne 0x180045937
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x180045918
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045918
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rbx + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180045913
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800458f0
cmp edx, 0x95466b05
je 0x180045e0a
test r8d, r8d
jne 0x1800458d0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x18004592e
cmp qword [rax + 0x30], 0
jne 0x1800458a0
xor eax, eax
mov qword [0x180202df0], rax
mov ecx, 0x57
call rax
bt ax, 0xf
jae 0x180045978
movd xmm8, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm8, xmm8
movaps xmm10, xmm8
movaps xmm11, xmm8
mulss xmm10, xmm7
mulss xmm11, xmm6
mulss xmm8, xmm9
addss xmm10, xmm12
addss xmm11, xmm13
addss xmm8, xmm14
mov rax, qword [0x180202df0]
test rax, rax
jne 0x180045a37
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x180045a18
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045a18
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rbx + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180045a13
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800459f0
cmp edx, 0x95466b05
je 0x180045e28
test r8d, r8d
jne 0x1800459d0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x180045a2e
cmp qword [rax + 0x30], 0
jne 0x1800459a0
xor eax, eax
mov qword [0x180202df0], rax
mov ecx, 0x53
call rax
bt ax, 0xf
jae 0x180045a72
movd xmm2, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, xmm7
mulss xmm1, xmm6
mulss xmm2, xmm9
subss xmm10, xmm0
subss xmm11, xmm1
subss xmm8, xmm2
mov rax, qword [0x180202df0]
test rax, rax
jne 0x180045b37
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x180045b18
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045b18
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rbx + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180045b13
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180045af0
cmp edx, 0x95466b05
je 0x180045e46
test r8d, r8d
jne 0x180045ad0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x180045b2e
cmp qword [rax + 0x30], 0
jne 0x180045aa0
xor eax, eax
mov qword [0x180202df0], rax
mov ecx, 0x41
call rax
bt ax, 0xf
jae 0x180045b72
movd xmm2, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, xmm6
mulss xmm1, xmm7
mulss xmm2, xmm9
subss xmm10, xmm0
addss xmm11, xmm1
addss xmm8, xmm2
mov rax, qword [0x180202df0]
test rax, rax
jne 0x180045c37
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x180045c18
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045c18
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rbx + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180045c13
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180045bf0
cmp edx, 0x95466b05
je 0x180045e64
test r8d, r8d
jne 0x180045bd0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x180045c2e
cmp qword [rax + 0x30], 0
jne 0x180045ba0
xor eax, eax
mov qword [0x180202df0], rax
mov ecx, 0x44
call rax
bt ax, 0xf
jae 0x180045c72
movd xmm2, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, xmm6
mulss xmm1, xmm7
mulss xmm2, xmm9
addss xmm10, xmm0
subss xmm11, xmm1
subss xmm8, xmm2
mov rax, qword [0x180202df0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0xc0]
test rax, rax
jne 0x180045d47
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
nop dword [rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x180045d28
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045d28
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180045d23
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180045d00
cmp edx, 0x95466b05
je 0x180045e82
test r8d, r8d
jne 0x180045ce0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x180045d3e
cmp qword [rax + 0x30], 0
jne 0x180045cb0
xor eax, eax
mov qword [0x180202df0], rax
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call rax
bt ax, 0xf
mov r15, qword [rsp + 0xd0]
jae 0x180045d72
movd xmm0, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm9
addss xmm8, xmm0
movss xmm0, dword [0x1800e997c]
subss xmm10, xmm12
movaps xmm9, xmmword [rsp + 0x90]
subss xmm11, xmm13
subss xmm8, xmm14
mulss xmm10, xmm0
mulss xmm11, xmm0
addss xmm10, xmm12
mulss xmm8, xmm0
movaps xmm12, xmmword [rsp + 0x60]
addss xmm11, xmm13
movaps xmm13, xmmword [rsp + 0x50]
addss xmm8, xmm14
movaps xmm14, xmmword [rsp + 0x40]
movaps xmm1, xmm10
movaps xmm10, xmmword [rsp + 0x80]
unpcklps xmm1, xmm11
movaps xmm11, xmmword [rsp + 0x70]
movsd qword [rbp + 0x90], xmm1
movss dword [rsp + 0x38], xmm8
mov eax, dword [rsp + 0x38]
movaps xmm8, xmmword [rsp + 0xa0]
mov dword [rbp + 0x98], eax
movsd qword [r14 + 0x50], xmm1
mov dword [r14 + 0x58], eax
jmp 0x180045efc
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x180045930
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x180045a30
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x180045b30
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x180045c30
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x180045d40
xorps xmm1, xmm1
mov dword [rsp + 0x38], 0
mov eax, dword [rsp + 0x38]
xorps xmm0, xmm0
unpcklps xmm0, xmm1
movsd qword [rbp + 0x320], xmm0
mov dword [rbp + 0x328], eax
cmp byte [0x180202d6c], 0
je 0x180045efc
cmp byte [0x180202f08], 0
mov eax, dword [0x180202f38]
movd xmm0, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm0, xmm0
mov rcx, qword [rax + rbp]
je 0x180045ef4
movss dword [rcx + 0xd40], xmm0
jmp 0x180045efc
movss dword [rcx + 0xcf0], xmm0
mov rdi, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0x108]
mov rbx, qword [rsp + 0xf8]
mov r14, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0x100]
add rsp, 0xe8
ret