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

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x5f]
sub rsp, 0xf0
mov rax, qword [0x180356880]
xor rax, rsp
mov qword [rbp + 0x37], rax
cmp byte [0x1803f9d32], 0
jne 0x180020a30
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
xor esi, esi
mov qword [r11 + 0x18], rdi
mov qword [r11 + 0x20], r14
movabs r14, 0x7fffffffffffffff
movaps xmmword [r11 - 0x18], xmm6
nop dword [rax + rax]
mov eax, dword [reloc.WS2_32.dll_accept]
lea rcx, [rbp - 0x51]
inc eax
movsxd rbx, eax
call fcn.180001bc0
mov rax, qword [rbp - 0x51]
mov qword [rbp - 0x69], rax
test rbx, rbx
jle 0x1800204a1
imul rdx, rbx, 0xf4240
mov rcx, r14
sub rcx, rdx
cmp rax, rcx
jge 0x18002049d
lea rcx, [rdx + rax]
mov qword [rbp - 0x69], rcx
jmp 0x1800204a1
mov qword [rbp - 0x69], r14
lea rcx, [rbp - 0x69]
call fcn.180004af0
cmp byte [0x1803f9b70], sil
je 0x1800209fb
cmp qword [0x1803fcf80], rsi
je 0x1800209fb
mov rax, qword gs:[0x60]
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 0x180020557
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180020557
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x819e1930
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180020552
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180020530
cmp r8d, 0x9d25d120
je 0x18002055c
test r9d, r9d
jne 0x180020510
mov rax, qword [rax]
jmp 0x1800204e0
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 [0x1803f9b74]
add rax, r10
call rax
test ax, ax
jne 0x180020659
cmp byte [0x1803fc999], sil
je 0x1800209fb
mov dword [rbp - 0x21], esi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x1d], xmm0
mov dword [rbp - 0xd], 4
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], 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 0x180020637
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180020637
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x960e5633
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180020632
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180020610
cmp r8d, 0x7412a85b
je 0x18002063c
test r9d, r9d
jne 0x1800205f0
mov rax, qword [rax]
jmp 0x1800205c0
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]
lea rdx, [rbp - 0x21]
jmp 0x1800209e4
mov rcx, qword [0x1803fcb08]
test rcx, rcx
je 0x180020690
cmp dword [0x1803fcb00], esi
je 0x180020690
mov rdx, qword [0x1803fcd50]
lea r8, [rbp + 7]
mov r9d, 8
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1803fcb08]
mov rdi, qword [rbp + 7]
mov qword [rbp - 0x31], rdi
test rdi, rdi
je 0x180020910
movaps xmm0, xmmword [0x1803fcf80]
movaps xmm6, xmmword [0x1803fcf90]
movups xmmword [rbp - 0x21], xmm0
test rcx, rcx
je 0x1800206e0
cmp dword [0x1803fcb00], esi
je 0x1800206e0
lea rdx, [rdi + 0x90]
mov qword [rsp + 0x20], rsi
mov r9d, recvfrom
lea r8, [rbp - 0x61]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdi, qword [rbp - 0x31]
movaps xmm0, xmm6
movaps xmm1, xmm6
shufps xmm1, xmm6, 0xaa
subss xmm1, dword [rbp - 0x5d]
shufps xmm0, xmm6, 0x55
subss xmm0, dword [rbp - 0x61]
shufps xmm6, xmm6, 0xff
subss xmm6, dword [rbp - 0x59]
mulss xmm1, xmm1
mulss xmm0, xmm0
mulss xmm6, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm6
ucomiss xmm0, xmm1
ja 0x180020726
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18002072e
movaps xmm0, xmm1
call fcn.180151130
movd xmm1, dword [0x1803f9b7c]
mov rcx, rdi
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
setbe bl
call fcn.180020380
test al, al
je 0x180020758
cmp byte [0x1803f9b78], sil
movzx ebx, bl
cmove ebx, esi
cmp byte [0x1803f9b59], sil
je 0x180020772
mov rcx, qword [rbp - 0x31]
call fcn.1800202f0
test al, al
movzx ebx, bl
cmove ebx, esi
mov rcx, qword [0x1803fcb08]
test rcx, rcx
je 0x1800207a2
cmp dword [0x1803fcb00], esi
je 0x1800207a2
mov rdx, qword [0x1803fcd48]
lea r8, [rbp - 0x29]
mov r9d, 1
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp byte [rbp - 0x29], sil
lea r8, [rbp - 0x31]
movzx ebx, bl
lea rdx, [rbp - 0x41]
lea rcx, [0x1803fcce0]
cmove ebx, esi
call fcn.180020a70
mov rcx, qword [rax]
cmp byte [rcx + 0x58], sil
jne 0x1800209fb
test bl, bl
je 0x180020910
cmp byte [0x1803fc999], sil
jne 0x1800209fb
movsxd rbx, dword [0x1803f9b80]
lea rcx, [rbp - 0x49]
call fcn.180001bc0
mov rax, qword [rbp - 0x49]
mov qword [rbp - 0x69], rax
test rbx, rbx
jle 0x18002081f
imul rdx, rbx, 0xf4240
mov rcx, r14
sub rcx, rdx
cmp rax, rcx
jge 0x18002081b
lea rcx, [rdx + rax]
mov qword [rbp - 0x69], rcx
jmp 0x18002081f
mov qword [rbp - 0x69], r14
lea rcx, [rbp - 0x69]
call fcn.180004af0
mov dword [rbp - 0x21], esi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x1d], xmm0
mov dword [rbp - 0xd], 2
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
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 0x1800208d7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800208d7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xec8d44d5
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800208d2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800208b0
cmp r8d, 0x400e86ed
je 0x1800208dc
test r9d, r9d
jne 0x180020890
mov rax, qword [rax]
jmp 0x180020860
mov ecx, dword [rdi + 0x24]
mov r8d, 0x28
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp - 0x21]
add rax, r10
mov ecx, 1
call rax
mov byte [0x1803fc999], 1
jmp 0x1800209fb
cmp byte [0x1803fc999], sil
je 0x1800209fb
mov dword [rbp + 0xf], esi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x13], xmm0
mov dword [rbp + 0x23], 4
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x27], xmm1
mov rax, qword gs:[0x60]
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 0x1800209c7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800209c7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x9a623212
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800209c2
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 0x1800209a0
cmp r8d, 0x5d6d9764
je 0x1800209cc
test r9d, r9d
jne 0x180020980
mov rax, qword [rax]
jmp 0x180020950
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]
lea rdx, [rbp + 0xf]
mov r8d, 0x28
mov ecx, 1
add rax, r10
call rax
mov byte [0x1803fc999], sil
cmp byte [0x1803f9d32], sil
je 0x180020460
movaps xmm6, xmmword [rsp + 0xe0]
mov r14, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.18011b930
add rsp, 0xf0
pop rbp
ret