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

Disassembly:
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
cmp word [0x1401bbb22], 0
mov eax, dword [0x1401bbb20]
vpxor xmm0, xmm0, xmm0
vmovups ymmword [rbp + 0x27], ymm0
vmovups xmmword [rbp + 0x47], xmm0
vmovups xmm0, xmmword [0x1401bbb10]
vmovups xmmword [rbp - 9], xmm0
mov dword [rbp + 0x67], 0
mov dword [rbp + 7], eax
je 0x14010d5f9
xor word [rbp - 7], 0x38
mov eax, WSAGetLastError
xor word [rbp - 5], 0x39
xor word [rbp - 3], 0x3a
xor word [rbp - 1], 0x3b
xor word [rbp + 1], 0x3c
xor word [rbp + 3], 0x3d
xor word [rbp + 5], 0x3e
xor word [rbp + 7], 0x3f
xor word [rbp + 9], 0x40
mov word [rbp - 9], ax
lea rcx, [rbp - 9]
vzeroupper
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14010d940
cmp byte [0x1401bbb41], 0
vmovups xmm0, xmmword [0x1401bbb28]
movzx ecx, word [0x1401bbb40]
vmovups xmmword [rbp + 0xb], xmm0
vmovsd xmm0, qword [0x1401bbb38]
vmovsd qword [rbp + 0x1b], xmm0
mov qword [rsp + 0xa8], rbx
mov word [rbp + 0x23], cx
je 0x14010d6b2
xor byte [rbp + 0xc], 0x38
xor byte [rbp + 0xd], 0x39
xor byte [rbp + 0xe], 0x3a
xor byte [rbp + 0xf], 0x3b
xor byte [rbp + 0x10], 0x3c
xor byte [rbp + 0x11], 0x3d
xor byte [rbp + 0x12], 0x3e
xor byte [rbp + 0x13], 0x3f
xor byte [rbp + 0x14], 0x40
xor byte [rbp + 0x15], 0x41
xor byte [rbp + 0x16], 0x42
xor byte [rbp + 0x17], 0x43
xor byte [rbp + 0x18], 0x44
xor byte [rbp + 0x19], 0x45
xor byte [rbp + 0x1a], 0x46
xor byte [rbp + 0x1b], 0x47
xor byte [rbp + 0x1c], 0x48
xor byte [rbp + 0x1d], 0x49
xor byte [rbp + 0x1e], 0x4a
xor byte [rbp + 0x1f], 0x4b
xor byte [rbp + 0x20], 0x4c
xor byte [rbp + 0x21], 0x4d
xor byte [rbp + 0x22], 0x4e
xor byte [rbp + 0x23], 0x4f
xor byte [rbp + 0x24], 0x50
mov byte [rbp + 0xb], Ordinal_79
lea rdx, [rbp + 0xb]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x14010d938
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea rcx, [rbp + 0x67]
mov r9d, Ordinal_50
mov qword [rsp + 0x20], rcx
lea r8, [rbp + 0x27]
mov rcx, rax
xor edx, edx
call rbx
test eax, eax
js 0x14010d938
mov rax, qword [rbp + 0x2f]
test rax, rax
je 0x14010d938
cmp byte [rax + 2], 0
je 0x14010d938
mov byte [0x1402ef9e5], 1
mov rax, qword gs:[0x60]
mov qword [rsp + 0xb0], rdi
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 ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14010d7a7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14010d7a7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14010d7a2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14010d780
cmp r8d, 0xcded1a85
je 0x14010d7ac
test r9d, r9d
jne 0x14010d760
mov rax, qword [rax]
jmp 0x14010d730
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r10
call rax
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 ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14010d857
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14010d857
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14010d852
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14010d830
cmp r8d, 0xe80fd3a
je 0x14010d85c
test r9d, r9d
jne 0x14010d810
mov rax, qword [rax]
jmp 0x14010d7e0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r10
call rax
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 ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14010d907
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14010d907
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x14010d902
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x14010d8e0
cmp r8d, 0xa52bcaf9
je 0x14010d90c
test r9d, r9d
jne 0x14010d8c0
mov rax, qword [rax]
jmp 0x14010d890
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
call rax
mov rdi, qword [rsp + 0xb0]
mov dword [0], 0xdead
mov rbx, qword [rsp + 0xa8]
add rsp, 0x90
pop rbp
ret