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

Disassembly:
sub rsp, 0x78
mov rax, qword [0x1802ea8e0]
test rax, rax
jne 0x1800516aa
mov qword [rsp + 0x50], r13
call fcn.18002fd50
mov qword [rsp + 0x88], rax
mov r13, rax
test rax, rax
jne 0x1800516af
movabs r8, 0xeaa154a7eafde149
lea rdx, str.failed_to_resolve_schema__llx
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081b50
mov r13, qword [rsp + 0x50]
xor eax, eax
add rsp, 0x78
ret
mov qword [rsp + 0x90], rbx
movabs r10, 0x100000001b3
mov qword [rsp + 0x70], rbp
movzx ebp, word [rax + 0x1c]
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], r12
xor r12d, r12d
mov qword [rsp + 0x48], r14
mov r14, r13
mov qword [rsp + 0x40], r15
movabs r15, 0xcbf29ce484222325
mov edi, r12d
test ebp, ebp
je 0x180051766
mov rsi, qword [r13 + 0x28]
nop
test rsi, rsi
je 0x180051760
movsxd rbx, edi
shl rbx, 5
add rbx, rsi
je 0x180051760
mov r9, qword [rbx]
movzx r8d, byte [r9]
test r8b, r8b
je 0x180051760
lea edx, [r8 - 0x41]
cmp dl, 0x19
lea eax, [r8 + 0x20]
movzx ecx, al
cmova ecx, r8d
movsx rdx, cl
lea rcx, [r9 + 1]
xor rdx, r15
imul rdx, r10
call fcn.18003db10
movabs rcx, 0x446bc2c5691cef21
cmp rax, rcx
je 0x18005184e
movabs r10, 0x100000001b3
inc edi
cmp edi, ebp
jl 0x180051700
mov rax, qword [r14 + 0x38]
test rax, rax
je 0x18005177c
mov r14, qword [rax + 8]
test r14, r14
jne 0x1800516f3
movabs rbp, 0x446bc2c5691cef21
mov rax, qword [0x1802ea8e0]
lea rdx, str.resolve_failed__llx:_llx_____x
movabs rbx, 0xeaa154a7eafde149
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rcx, [0x1802ecc10]
mov r9, rbp
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081b50
mov rax, qword [0x1802ea8e0]
lea rdx, str.resolve_failed__llx:_llx_____x_n
mov r9, rbp
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
mov rsi, r13
nop word [rax + rax]
mov ebx, r12d
cmp r12w, word [r13 + 0x1c]
jae 0x1800518eb
movabs r12, 0x100000001b3
nop dword [rax + rax]
mov rcx, qword [r13 + 0x28]
test rcx, rcx
je 0x1800518d9
movsxd rax, ebx
shl rax, 5
add rax, rcx
je 0x1800518d9
mov rdi, qword [rax]
movzx r8d, byte [rdi]
test r8b, r8b
jne 0x180051889
mov rax, r15
jmp 0x1800518af
movzx eax, word [rbx + 0x10]
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x50]
mov qword [0x1802ea8e0], rax
add rsp, 0x78
ret
lea edx, [r8 - 0x41]
cmp dl, 0x19
lea eax, [r8 + 0x20]
movzx ecx, al
cmova ecx, r8d
movsx rdx, cl
lea rcx, [rdi + 1]
xor rdx, r15
imul rdx, r12
call fcn.18003db10
mov r9, rax
mov qword [rsp + 0x20], rbp
mov r8, rdi
lea rdx, str.field__s__llx__llx_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
movzx eax, word [r13 + 0x1c]
inc ebx
cmp ebx, eax
jl 0x180051820
xor r12d, r12d
mov rax, qword [rsi + 0x38]
test rax, rax
je 0x180051901
mov rsi, qword [rax + 8]
test rsi, rsi
jne 0x180051800
mov rdx, qword [0x1802ea088]
test rdx, rdx
jne 0x180051b6c
xor r13d, r13d
mov ebp, 0x89eabb08
mov r12d, r13d
nop dword [rax]
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov r14, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [r14 + 0x58]
movd eax, xmm0
movups xmmword [rsp + 0x30], xmm0
sub ax, 8
test r12d, r12d
je 0x18005199f
mov r8, qword [rsp + 0x38]
mov r9d, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r10, [r8 + rax*2]
cmp r8, r10
je 0x180051996
movsx eax, byte [r8]
mov ecx, eax
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
cmova edx, ecx
add r8, 2
xor edx, r9d
imul r9d, edx, 0x1000193
cmp r8, r10
jne 0x180051971
cmp r9d, r12d
jne 0x180051a36
mov rbx, qword [r14 + 0x30]
movsxd rax, dword [rbx + 0x3c]
mov rcx, qword [rax + rbx + 0x88]
mov r15, rcx
mov esi, ecx
shr r15, 0x20
add rsi, rbx
cmp rsi, rbx
je 0x180051a36
mov edi, dword [rsi + 0x18]
mov r11d, r13d
test edi, edi
je 0x180051a36
mov r10d, dword [rsi + 0x20]
add r10, rbx
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [r10]
mov r9d, 0x811c9dc5
add r8, rbx
movzx eax, byte [r8]
test al, al
je 0x180051a25
nop dword [rax]
nop dword [rax + rax]
movsx ecx, al
lea r8, [r8 + 1]
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
movzx eax, byte [r8]
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
test al, al
jne 0x180051a00
cmp r9d, ebp
je 0x180051a3e
inc r11d
add r10, 4
cmp r11d, edi
jb 0x1800519e0
mov r14, qword [r14]
jmp 0x180051940
mov eax, dword [rsi + 0x24]
add rax, rbx
mov ecx, r11d
movzx edx, word [rax + rcx*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov edx, dword [rcx + rdx*4]
add rdx, rbx
cmp rdx, rsi
jbe 0x180051b15
lea rax, [rsi + r15]
cmp rdx, rax
jae 0x180051b15
movzx r8d, byte [rdx]
mov r12d, 0x811c9dc5
mov dword [rsp + 0x80], r12d
mov r9d, r12d
mov dword [rsp + 0x84], r12d
cmp r8b, 0x2e
je 0x180051ac4
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
movzx r8d, byte [rdx + 1]
cmova ecx, eax
inc rdx
xor ecx, r12d
imul r12d, ecx, 0x1000193
cmp r8b, 0x2e
jne 0x180051a90
mov dword [rsp + 0x80], r12d
movzx r8d, byte [rdx + 1]
inc rdx
test r8b, r8b
je 0x180051b04
movsx eax, r8b
lea rdx, [rdx + 1]
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
movzx r8d, byte [rdx]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test r8b, r8b
jne 0x180051ad1
mov dword [rsp + 0x84], r9d
mov rbp, qword [rsp + 0x80]
shr rbp, 0x20
jmp 0x180051920
mov r13, qword [rsp + 0x88]
mov qword [0x1802ea088], rdx
test rdx, rdx
jne 0x180051b55
mov r8d, 0x89eabb08
lea rdx, str.tried_to_resolve_invalid_import_0x_X_n
lea rcx, [0x1802ecc10]
call fcn.180044770
lea rcx, [0x1802ecc10]
call fcn.180081550
mov rdx, qword [0x1802ea088]
movabs rbp, 0x446bc2c5691cef21
xor r12d, r12d
movabs r15, 0xcbf29ce484222325
mov ecx, 0x3e8
call rdx
jmp 0x180051786