Function at 0x1800454a0
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 0x180045e34
mov qword [r11 + 0x18], rbp
mov rbp, qword [rcx + 8]
test rbp, rbp
je 0x180045e2c
mov qword [r11 - 0x10], r14
mov r14, qword [rbp + 0x30]
test r14, r14
je 0x180045e24
mov rax, qword [0x180202f18]
mov rcx, qword [rax]
test rcx, rcx
je 0x180045e24
cmp qword [rcx + 0x10], 0
je 0x180045e24
cmp byte [0x180202d8c], 0
movsd xmm0, qword [rbp + 0x90]
mov eax, dword [rbp + 0x98]
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], eax
je 0x18004554e
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 0x180045546
movss dword [rcx + 0xd40], xmm0
jmp 0x18004554e
movss dword [rcx + 0xcf0], xmm0
mov eax, dword [0x180202f3c]
cmp byte [rax + rbp], 0x40
je 0x180045e24
movss xmm0, dword [0x1800e98cc]
comiss xmm0, dword [rbp + 0x280]
ja 0x180045e24
mov rax, qword [0x180202d48]
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0xe0], rdi
test rax, rax
jne 0x180045657
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 0x180045638
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045638
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 0x180045633
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 0x180045610
cmp edx, 0x95466b05
je 0x1800456bd
test r8d, r8d
jne 0x1800455f0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x18004564e
cmp qword [rax + 0x30], 0
jne 0x1800455c0
xor eax, eax
mov qword [0x180202d48], rax
mov ecx, 0xa0
call rax
cmp byte [0x180202d81], 0
mov byte [0x180202d8f], 1
je 0x180045db0
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 0x1800456db
mov rcx, qword [rcx]
jmp 0x1800456e3
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 0x180045650
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 0x18004575f
jne 0x18004575f
ucomiss xmm6, xmm0
jp 0x18004575f
jne 0x18004575f
movss xmm9, dword [rsp + 0x28]
ucomiss xmm9, xmm0
jp 0x180045766
jne 0x180045766
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 [0x180202d48]
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 0x180045847
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 0x180045828
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045828
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 0x180045823
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 0x180045800
cmp edx, 0x95466b05
je 0x180045d1a
test r8d, r8d
jne 0x1800457e0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x18004583e
cmp qword [rax + 0x30], 0
jne 0x1800457b0
xor eax, eax
mov qword [0x180202d48], rax
mov ecx, 0x57
call rax
bt ax, 0xf
jae 0x180045888
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 [0x180202d48]
test rax, rax
jne 0x180045947
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 0x180045928
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045928
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 0x180045923
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 0x180045900
cmp edx, 0x95466b05
je 0x180045d38
test r8d, r8d
jne 0x1800458e0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x18004593e
cmp qword [rax + 0x30], 0
jne 0x1800458b0
xor eax, eax
mov qword [0x180202d48], rax
mov ecx, 0x53
call rax
bt ax, 0xf
jae 0x180045982
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 [0x180202d48]
test rax, rax
jne 0x180045a47
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 0x180045a28
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045a28
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 0x180045a23
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 0x180045a00
cmp edx, 0x95466b05
je 0x180045d56
test r8d, r8d
jne 0x1800459e0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x180045a3e
cmp qword [rax + 0x30], 0
jne 0x1800459b0
xor eax, eax
mov qword [0x180202d48], rax
mov ecx, 0x41
call rax
bt ax, 0xf
jae 0x180045a82
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 [0x180202d48]
test rax, rax
jne 0x180045b47
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 0x180045b28
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045b28
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 0x180045b23
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 0x180045b00
cmp edx, 0x95466b05
je 0x180045d74
test r8d, r8d
jne 0x180045ae0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x180045b3e
cmp qword [rax + 0x30], 0
jne 0x180045ab0
xor eax, eax
mov qword [0x180202d48], rax
mov ecx, 0x44
call rax
bt ax, 0xf
jae 0x180045b82
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 [0x180202d48]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0xc0]
test rax, rax
jne 0x180045c57
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 0x180045c38
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180045c38
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 0x180045c33
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 0x180045c10
cmp edx, 0x95466b05
je 0x180045d92
test r8d, r8d
jne 0x180045bf0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x180045c4e
cmp qword [rax + 0x30], 0
jne 0x180045bc0
xor eax, eax
mov qword [0x180202d48], rax
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call rax
bt ax, 0xf
mov r15, qword [rsp + 0xd0]
jae 0x180045c82
movd xmm0, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm9
addss xmm8, xmm0
movss xmm0, dword [0x1800e971c]
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 0x180045e0c
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 0x180045840
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 0x180045940
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 0x180045a40
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 0x180045b40
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 0x180045c50
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 [0x180202d8c], 0
je 0x180045e0c
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 0x180045e04
movss dword [rcx + 0xd40], xmm0
jmp 0x180045e0c
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