Function at 0x140012210
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
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x1400122c8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1400122c8
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x52e68e23
lea rax, [r11 + r8*4]
mov eax, dword [rax + r9]
add rax, r9
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x1400122c3
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax - 1]
test cl, cl
jne 0x1400122a0
cmp edx, 0xcac762f5
je 0x1400125e2
test r8d, r8d
jne 0x140012280
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1400122de
cmp qword [rax + 0x30], 0
jne 0x140012250
xor r8d, r8d
xor edx, edx
mov cl, 0x56
call fcn.140008960
mov r12d, 1
mov byte [rbp - 0x20], al
mov edx, r12d
mov cl, 0x42
call fcn.140008960
lea edx, [r12 + 1]
mov byte [rbp - 0x1f], al
mov cl, 0x6f
call fcn.140008960
lea edx, [r12 + 2]
mov byte [rbp - 0x1e], al
mov cl, 0x78
call fcn.140008960
lea edx, [r12 + 3]
mov byte [rbp - 0x1d], al
mov cl, 0x48
call fcn.140008960
lea edx, [r12 + 4]
mov byte [rbp - 0x1c], al
mov cl, 0x6f
call fcn.140008960
lea edx, [r12 + 5]
mov byte [rbp - 0x1b], al
call fcn.140008960
lea edx, [r12 + 6]
mov byte [rbp - 0x1a], al
mov cl, 0x6b
movzx r15d, al
call fcn.140008960
lea edx, [r12 + 7]
mov byte [rbp - 0x19], al
mov cl, 0x2e
call fcn.140008960
lea edx, [r12 + 8]
mov byte [rbp - 0x18], al
mov cl, 0x64
call fcn.140008960
lea edx, [r12 + 9]
mov byte [rbp - 0x17], al
mov cl, 0x6c
call fcn.140008960
lea edx, [r12 + 0xa]
mov byte [rbp - 0x16], al
call fcn.140008960
mov byte [rbp - 0x15], al
xor eax, eax
mov byte [rbp - 0x14], al
xor edx, edx
nop dword [rax]
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx - 0x79]
inc edx
xor byte [rcx], al
cmp edx, 0xc
jb 0x1400123a0
lea rcx, [rbp - 0x20]
mov byte [rbp - 0x14], 0
call r8
test rax, rax
mov rax, qword gs:[0x60]
setne r14b
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140012458
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140012458
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x3d49e59e
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140012453
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140012430
cmp edx, 0x2df184c7
je 0x1400125ff
test r8d, r8d
jne 0x140012410
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14001246e
cmp qword [rax + 0x30], 0
jne 0x1400123e0
xor r10d, r10d
xor edx, edx
mov cl, 0x5c
call fcn.140008960
mov edx, r12d
mov byte [rbp - 0x20], al
call fcn.140008960
mov edx, 2
mov byte [rbp - 0x1f], al
mov cl, 0x2e
call fcn.140008960
mov edx, 3
mov byte [rbp - 0x1e], al
mov cl, 0x5c
call fcn.140008960
mov edx, 4
mov byte [rbp - 0x1d], al
mov cl, 0x56
call fcn.140008960
mov edx, 5
mov byte [rbp - 0x1c], al
mov cl, 0x42
call fcn.140008960
mov edx, 7
mov byte [rbp - 0x1b], al
mov cl, 0x78
mov byte [rbp - 0x1a], r15b
call fcn.140008960
mov edx, 8
mov byte [rbp - 0x19], al
mov cl, 0x4d
call fcn.140008960
mov edx, 9
mov byte [rbp - 0x18], al
mov cl, 0x69
call fcn.140008960
mov edx, 0xa
mov byte [rbp - 0x17], al
mov cl, 0x6e
call fcn.140008960
mov edx, 0xb
mov byte [rbp - 0x16], al
mov cl, 0x69
call fcn.140008960
mov edx, 0xc
mov byte [rbp - 0x15], al
mov cl, 0x52
call fcn.140008960
mov edx, 0xd
mov byte [rbp - 0x14], al
mov cl, 0x64
call fcn.140008960
mov edx, 0xe
mov byte [rbp - 0x13], al
mov cl, 0x72
call fcn.140008960
mov edx, 0xf
mov byte [rbp - 0x12], al
mov cl, 0x44
call fcn.140008960
mov edx, 0x10
mov byte [rbp - 0x11], al
mov cl, 0x4e
call fcn.140008960
mov byte [rbp - 0x10], al
xor eax, eax
mov byte [rbp - 0xf], al
xor edx, edx
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x20]
add rcx, rax
lea eax, [rdx - 0x79]
inc edx
xor byte [rcx], al
cmp edx, 0x11
jb 0x140012570
mov qword [rsp + 0x30], 0
lea rcx, [rbp - 0x20]
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
mov r8d, r12d
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
mov byte [rbp - 0xf], 0
call r10
lea r11, [rsp + 0x60]
movzx ecx, r14b
mov rbx, qword [r11 + 0x20]
cmp rax, 0xffffffffffffffff
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
cmovne ecx, r12d
mov r12, qword [r11 + 0x38]
movzx eax, cl
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r8d, dword [rcx + rdx*4]
add r8, r9
jmp 0x1400122e1
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
jmp 0x140012471