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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x1801f5b80]
xor rax, rsp
mov qword [rbp + 0x40], rax
xor r12d, r12d
mov dword [rsp + 0x28], r12d
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov qword [rsp + 0x78], r12
mov word [rsp + 0x20], 0x702f
movzx eax, word [rsp + 0x20]
mov word [rsp + 0x20], ax
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x48], r12b
mov dword [rsp + 0x28], 4
xor r8d, r8d
lea edx, [r12 + 2]
lea rcx, [rsp + 0x48]
call fcn.180014330
mov ecx, r12d
cmp rcx, 2
jae 0x1800aae20
movzx edx, byte [rsp + rcx + 0x20]
xor dl, 0x70
cmp qword [rsp + 0x58], rcx
jbe 0x1800aae1a
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rax, qword [rsp + 0x48]
mov byte [rcx + rax], dl
inc rcx
cmp rcx, 2
jl 0x1800aa855
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rdx, qword [rsp + 0x48]
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x1800aa8b2
lea rcx, [rbp - 0x60]
call fcn.180014fd0
nop
mov r15d, r12d
mov dword [rsp + 0x28], r12d
lea rcx, [rsp + 0x48]
call fcn.180014c00
mov ecx, dword [0x1805e2604]
mov rax, qword gs:[0x58]
mov edx, 8
mov rbx, qword [rax + rcx*8]
add rbx, rdx
mov eax, dword [rbx]
cmp dword [0x1805e5cfc], eax
jle 0x1800aa91e
lea rcx, [0x1805e5cfc]
call fcn.180155598
cmp dword [0x1805e5cfc], 0xffffffff
jne 0x1800aa91e
lea rcx, [0x1805e5cfc]
call fcn.18015552c
mov eax, dword [rbx]
cmp dword [0x1805e5cf8], eax
jle 0x1800aa949
lea rcx, [0x1805e5cf8]
call fcn.180155598
cmp dword [0x1805e5cf8], 0xffffffff
jne 0x1800aa949
lea rcx, [0x1805e5cf8]
call fcn.18015552c
mov rax, qword [0x1805e4ea0]
test rax, rax
jne 0x1800aaa0c
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x1800aa9e7
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1800aa9e7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
lea rax, [rdi + r8*4]
mov eax, dword [rax + r9]
add rax, r9
mov edx, 0x70796f74
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x1800aa9e2
nop dword [rax]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax]
lea rax, [rax + 1]
test cl, cl
jne 0x1800aa9c0
cmp edx, 0x66f54ed2
je 0x1800aab64
test r8d, r8d
jne 0x1800aa9a0
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x1800aa9fd
cmp qword [rax + 0x30], 0
jne 0x1800aa970
mov rax, r12
mov qword [0x1805e4ea0], rax
mov r15d, dword [rsp + 0x28]
lea rbx, str.egRwjNqAcjf5htkYRWck
mov rcx, rbx
call rax
movsxd rcx, dword [0x1801f7020]
cmp rax, rcx
jne 0x1800aae26
lea rcx, [rbp - 0x40]
movzx eax, byte [str.egRwjNqAcjf5htkYRWck]
test al, al
je 0x1800aaa4f
lea rdx, [rbp - 0x40]
sub rbx, rdx
nop
sub al, 3
mov byte [rcx], al
inc rcx
movzx eax, byte [rcx + rbx]
test al, al
jne 0x1800aaa40
mov byte [rcx], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r12
lea rax, [rbp - 0x40]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800aaa70
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x80]
call fcn.180014fd0
nop
mov word [rsp + 0x20], 0x4b14
movzx eax, word [rsp + 0x20]
mov word [rsp + 0x20], ax
nop dword [rax]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x48], 0
or r15d, 1
mov dword [rsp + 0x28], r15d
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rsp + 0x48]
call fcn.180014330
mov rcx, r12
cmp rcx, 2
jae 0x1800aae3c
movzx edx, byte [rsp + rcx + 0x20]
xor dl, 0x4b
cmp qword [rsp + 0x58], rcx
jbe 0x1800aae36
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rax, qword [rsp + 0x48]
mov byte [rcx + rax], dl
inc rcx
cmp rcx, 2
jl 0x1800aaadc
lea rsi, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rsi, qword [rsp + 0x48]
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x1800aab30
lea r14, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae r14, qword [rbp - 0x80]
mov rax, qword [rbp - 0x70]
cmp rdi, rax
ja 0x1800aabe7
sub rax, rdi
test rdi, rdi
jne 0x1800aab80
mov rbx, r12
jmp 0x1800aabee
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x1800aaa00
lea r12, [rax + r14]
movsx r13d, byte [rsi]
lea r8, [r12 + 1]
sub r8, r14
mov edx, r13d
mov rcx, r14
call fcn.180157b50
mov rbx, rax
test rax, rax
je 0x1800aabe4
nop dword [rax]
nop word [rax + rax]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.180158650
test eax, eax
je 0x1800aac78
inc rbx
lea r8, [r12 + 1]
sub r8, rbx
mov edx, r13d
mov rcx, rbx
call fcn.180157b50
mov rbx, rax
test rax, rax
jne 0x1800aabb0
xor r12d, r12d
mov rbx, 0xffffffffffffffff
and r15d, 0xfffffffe
lea rcx, [rsp + 0x48]
call fcn.180014c00
cmp rbx, 0xffffffffffffffff
je 0x1800aacd6
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov r8, rbx
cmp qword [rbp - 0x70], rbx
cmovb r8, qword [rbp - 0x70]
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rdx, qword [rbp - 0x80]
lea rcx, [rsp + 0x48]
call fcn.180014fd0
or r15d, 2
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x78]
je 0x1800aac83
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rdx + 0x10], xmm1
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x48], 0
add qword [rsp + 0x70], 0x20
jmp 0x1800aac93
sub rbx, r14
xor r12d, r12d
jmp 0x1800aabee
lea r8, [rsp + 0x48]
lea rcx, [rsp + 0x68]
call fcn.1800ae910
nop
lea rcx, [rsp + 0x48]
call fcn.180014c00
mov rax, qword [rbp - 0x50]
add rax, rbx
mov rbx, qword [rbp - 0x70]
cmp rbx, rax
cmovb rax, rbx
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rcx, qword [rbp - 0x80]
sub rbx, rax
lea r8, [rbx + 1]
lea rdx, [rcx + rax]
call fcn.180157c10
mov qword [rbp - 0x70], rbx
jmp 0x1800aaaa0
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x78]
je 0x1800aacfe
lea rdx, [rbp - 0x80]
mov rcx, rax
call fcn.180014430
mov rdi, qword [rsp + 0x70]
add rdi, 0x20
mov qword [rsp + 0x70], rdi
jmp 0x1800aad14
lea r8, [rbp - 0x80]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1800aeaf0
mov rdi, qword [rsp + 0x70]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
sub rdi, qword [rsp + 0x68]
sar rdi, 5
test rdi, rdi
je 0x1800aadc4
movabs rax, 0x7ffffffffffffff
cmp rdi, rax
ja 0x1800aae30
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.180022900
mov rbx, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
shl rdi, 5
add rdi, rax
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbx
lea rax, [rsp + 0x30]
mov qword [rsp + 0x58], rax
cmp rdi, rsi
je 0x1800aadbf
mov rdx, rdi
mov rcx, rbx
call fcn.180014430
add rbx, 0x20
mov qword [rsp + 0x50], rbx
add rdi, 0x20
cmp rdi, rsi
jne 0x1800aada2
mov qword [rsp + 0x38], rbx
lea rdx, [rsp + 0x30]
call fcn.1800aae50
nop
lea rcx, [rbp - 0x80]
call fcn.180014c00
nop
lea rcx, [rbp - 0x60]
call fcn.180014c00
nop
lea rcx, [rsp + 0x68]
call fcn.180014b50
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.1801554d0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180014f60
nop
call fcn.180014d90
nop
xor edx, edx
xor ecx, ecx
call fcn.180157a98
nop
call fcn.180013ab0
nop
call fcn.180014f60
int3
call fcn.180014d90
int3