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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x90
mov rsi, rdx
mov rbx, rcx
mov edi, 1
mov dword [rsp + 0xd0], edi
xor r15d, r15d
mov qword [rcx], r15
mov qword [rcx + 8], r15
mov qword [rcx + 0x10], r15
mov ecx, 0x18
call fcn.1800c1910
mov qword [rbx], rax
lea rcx, [rax + 0x18]
mov qword [rbx + 0x10], rcx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rbx + 8], rax
mov dword [rsp + 0xd0], edi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
mov dword [rsp + 0x88], eax
cmp qword [rsi + 0x18], 0xf
jbe 0x1800175d8
mov rsi, qword [rsi]
lea rax, [rsp + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x7c]
lea rdx, str._d__d__d
mov rcx, rsi
call fcn.180006b90
cmp eax, 3
je 0x1800176f1
mov r10, qword [0x180233048]
test r10, r10
jne 0x1800178fb
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov r14, rbp
nop dword [rax + rax]
mov r11, qword [r14 + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x1800176b5
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x1800176b5
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rax, [rdi + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
mov r9d, 0x5c98ece3
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x1800176b0
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x180017680
cmp r9d, 0x7b323ea2
je 0x1800176d4
test r10d, r10d
jne 0x180017660
mov rax, qword [r14]
mov r14, rax
cmp rax, rbp
je 0x1800178f1
cmp qword [rax + 0x30], 0
je 0x1800178f1
jmp 0x180017630
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rsi + 0x1c]
add rcx, r11
mov r10d, dword [rcx + rdx*4]
add r10, r11
jmp 0x1800178f4
mov eax, dword [rsp + 0x7c]
cmp eax, 0xbb8
jle 0x180017707
mov eax, 0xbb8
mov dword [rsp + 0x74], edi
jmp 0x18001770b
mov edi, dword [rsp + 0x78]
sub eax, 0x76c
mov dword [rsp + 0x7c], eax
dec edi
mov dword [rsp + 0x78], edi
lea rcx, [rsp + 0x68]
call fcn.1800ce850
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x180017821
mov r10, qword [0x180233010]
test r10, r10
jne 0x1800179aa
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rsi, rbp
nop dword [rax + rax]
mov r11, qword [rsi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x1800177e5
mov r10d, dword [rdi + 0x18]
test r10d, r10d
je 0x1800177e5
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rcx, [rbx + r10*4]
mov r8d, dword [rcx + r11]
add r8, r11
mov r9d, 0xd17e5955
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x1800177e0
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x1800177b0
cmp r9d, 0x43fcd2d4
je 0x180017804
test r10d, r10d
jne 0x180017790
mov rax, qword [rsi]
mov rsi, rax
cmp rax, rbp
je 0x1800179a0
cmp qword [rax + 0x30], 0
je 0x1800179a0
jmp 0x180017760
mov ecx, dword [rdi + 0x24]
add rcx, r11
movzx r8d, word [rcx + r10*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov r10d, dword [rcx + r8*4]
add r10, r11
jmp 0x1800179a3
xor ecx, ecx
call fcn.1800dafd0
mov rdx, rax
mov rcx, rdi
call fcn.1800c8640
cvttsd2si r8, xmm0
test r8, r8
js 0x1800178d7
movabs rax, 0x1845c8a0ce512957
imul r8
sar rdx, 0xd
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rbx]
mov qword [rax], rdx
imul rax, rdx, 0x15180
mov rcx, r8
sub rcx, rax
movabs r9, 0x48d159e26af37c05
mov rax, r9
imul rcx
sar rdx, 0xa
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
mov rcx, qword [rbx]
mov qword [rcx + 8], rdx
mov rax, r9
imul r8
sar rdx, 0xa
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xe10
sub r8, rax
movabs rax, 0x8888888888888889
imul r8
add rdx, r8
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rbx]
mov qword [rax + 0x10], rdx
mov rax, rbx
mov rbx, qword [rsp + 0xc8]
add rsp, 0x90
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov r10, r15
mov qword [0x180233048], r10
lea rdx, [rsp + 0x30]
call fcn.180017aa0
lea r8, [rax + 1]
movzx ecx, byte [rax]
xor byte [r8], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
xor byte [rax + 7], cl
xor byte [rax + 8], cl
xor byte [rax + 9], cl
xor byte [rax + 0xa], cl
xor byte [rax + 0xb], cl
xor byte [rax + 0xc], cl
xor byte [rax + 0xd], cl
xor byte [rax + 0xe], cl
xor byte [rax + 0xf], cl
mov byte [rax + 0x10], 0
lea rdx, [rsp + 0x41]
call fcn.180017a70
lea rdx, [rax + 1]
movzx ecx, byte [rax]
xor byte [rdx], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
xor byte [rax + 7], cl
xor byte [rax + 8], cl
xor byte [rax + 9], cl
xor byte [rax + 0xa], cl
xor byte [rax + 0xb], cl
xor byte [rax + 0xc], cl
xor byte [rax + 0xd], cl
xor byte [rax + 0xe], cl
xor byte [rax + 0xf], cl
xor byte [rax + 0x10], cl
xor byte [rax + 0x11], cl
xor byte [rax + 0x12], cl
xor byte [rax + 0x13], cl
xor byte [rax + 0x14], cl
mov byte [rax + 0x15], 0
xor ecx, ecx
mov r9d, reloc.WS2_32.dll_recv
call r10
xor ecx, ecx
call fcn.1800c7cf4
int3
mov r10, r15
mov qword [0x180233010], r10
lea rdx, [rsp + 0x30]
call fcn.180017b10
lea r8, [rax + 1]
movzx ecx, byte [rax]
xor byte [r8], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
xor byte [rax + 7], cl
xor byte [rax + 8], cl
xor byte [rax + 9], cl
xor byte [rax + 0xa], cl
xor byte [rax + 0xb], cl
xor byte [rax + 0xc], cl
xor byte [rax + 0xd], cl
xor byte [rax + 0xe], cl
xor byte [rax + 0xf], cl
mov byte [rax + 0x10], 0
lea rdx, [rsp + 0x41]
call fcn.180017ad0
lea rdx, [rax + 1]
movzx ecx, byte [rax]
xor byte [rdx], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
xor byte [rax + 7], cl
xor byte [rax + 8], cl
xor byte [rax + 9], cl
xor byte [rax + 0xa], cl
xor byte [rax + 0xb], cl
xor byte [rax + 0xc], cl
xor byte [rax + 0xd], cl
xor byte [rax + 0xe], cl
xor byte [rax + 0xf], cl
xor byte [rax + 0x10], cl
xor byte [rax + 0x11], cl
xor byte [rax + 0x12], cl
xor byte [rax + 0x13], cl
xor byte [rax + 0x14], cl
xor byte [rax + 0x15], cl
xor byte [rax + 0x16], cl
xor byte [rax + 0x17], cl
xor byte [rax + 0x18], cl
xor byte [rax + 0x19], cl
xor byte [rax + 0x1a], cl
xor byte [rax + 0x1b], cl
xor byte [rax + 0x1c], cl
xor byte [rax + 0x1d], cl
xor byte [rax + 0x1e], cl
mov byte [rax + 0x1f], 0
xor ecx, ecx
mov r9d, reloc.WS2_32.dll_recv
call r10
xor ecx, ecx
call fcn.1800c7cf4
int3