Function at 0x140022860
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 + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
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 0x140022907
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140022907
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x278af025
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140022902
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400228e0
cmp r8d, 0xaf93978f
je 0x14002290c
test r9d, r9d
jne 0x1400228c0
mov rax, qword [rax]
jmp 0x140022890
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]
add rax, r10
call rax
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movabs r14, 0x8ec22a2599512033
movabs r15, 0x38d0ad8c1d278e92
mov rsi, rax
movabs rax, 0x38d0ad8c1d27fae5
mov qword [rbp + 0x20], rax
mov rcx, qword [rbp + 0x20]
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x20], r14
mov rcx, qword [rbp + 0x20]
mov qword [rbp - 0x28], rcx
mov qword [rbp + 0x20], r15
mov rcx, qword [rbp + 0x20]
mov qword [rbp + 0x20], r14
mov rax, qword [rbp + 0x20]
movdqa xmm0, xmmword [rbp - 0x30]
mov qword [rbp - 8], rax
movabs rax, 0x38f4f9d95269c1d1
mov qword [rbp - 0x10], rcx
xorps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x20], rax
mov qword [rbp + 0x20], r14
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x18], rax
mov qword [rbp + 0x20], r15
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x10], rax
mov qword [rbp + 0x20], r14
mov rax, qword [rbp + 0x20]
movdqa xmm0, xmmword [rbp - 0x20]
mov qword [rbp - 8], rax
xorps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x20], xmm0
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 0x140022a67
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140022a67
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x915a0937
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140022a62
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 0x140022a40
cmp r8d, 0x884763fa
je 0x140022a6c
test r9d, r9d
jne 0x140022a20
mov rax, qword [rax]
jmp 0x1400229f0
mov ecx, dword [rdi + 0x24]
mov r8, rsi
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 - 0x30]
add rax, r10
lea rcx, [rbp - 0x20]
call rax
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rsi, rax
movabs rax, 0x38d0ad8c1d27fae0
mov qword [rbp + 0x20], rax
mov rcx, qword [rbp + 0x20]
mov qword [rbp - 0x20], rcx
mov qword [rbp + 0x20], r14
mov rcx, qword [rbp + 0x20]
mov qword [rbp - 0x18], rcx
mov qword [rbp + 0x20], r15
mov rcx, qword [rbp + 0x20]
mov qword [rbp + 0x20], r14
mov rax, qword [rbp + 0x20]
movdqa xmm0, xmmword [rbp - 0x20]
mov qword [rbp - 8], rax
movabs rax, 0x38d089c25469c1d1
mov qword [rbp - 0x10], rcx
xorps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x30], rax
mov qword [rbp + 0x20], r14
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x28], rax
mov qword [rbp + 0x20], r15
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x10], rax
mov qword [rbp + 0x20], r14
mov rax, qword [rbp + 0x20]
movdqa xmm0, xmmword [rbp - 0x30]
mov qword [rbp - 8], rax
xorps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x30], xmm0
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 0x140022bb7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140022bb7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x58819215
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140022bb2
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 0x140022b90
cmp r8d, 0x9bbf778c
je 0x140022bbc
test r9d, r9d
jne 0x140022b70
mov rax, qword [rax]
jmp 0x140022b40
mov ecx, dword [rdi + 0x24]
mov r8, rsi
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 - 0x20]
add rax, r10
lea rcx, [rbp - 0x30]
call rax
call fcn.140020140
mov dword [rbp - 0x2c], 0x392072
mov dword [rbp - 0x30], 0x6f6c6f63
mov byte [rbp - 0x28], 0
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 0x140022c87
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140022c87
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xd925b770
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140022c82
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 0x140022c60
cmp r8d, 0xa2a69ab1
je 0x140022c8c
test r9d, r9d
jne 0x140022c40
mov rax, qword [rax]
jmp 0x140022c10
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 rcx, [rbp - 0x30]
add rax, r10
call rax
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 0x140022d37
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140022d37
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x72b82148
lea rcx, [r10 + r9*4]
mov ecx, dword [rcx + rbx]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140022d32
nop dword [rax]
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x140022d10
cmp r8d, 0xa8abe0e3
je 0x140022d3c
test r9d, r9d
jne 0x140022cf0
mov rax, qword [rax]
jmp 0x140022cc0
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, 0xfde9
add rax, r10
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
jmp rax