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

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rcx
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
add rcx, 0x10
mov rcx, qword [rcx]
mov rax, qword [rcx + 0x30]
movsxd rdx, dword [rax + 0x3c]
mov edx, dword [rax + rdx + 0x88]
test rdx, rdx
je 0x140001f97
mov r8d, dword [rax + rdx + 0x18]
test r8, r8
je 0x140001f97
mov r9d, dword [rax + rdx + 0x20]
add r9, rax
lea r10, [rax + 1]
dec r8
mov r11d, r8d
mov edi, dword [r9 + r11*4]
mov bl, byte [rax + rdi]
test bl, bl
je 0x140001ff9
add rdi, r10
mov ebp, 0x86d1c0e1
movsx ebx, bl
xor ebx, ebp
imul ebp, ebx, 0x1000193
mov bl, byte [rdi]
inc rdi
test bl, bl
jne 0x140001fdd
cmp ebp, 0x8ca35ce7
je 0x140002000
test r11, r11
jne 0x140001fc4
jmp 0x140001f97
mov ecx, dword [rax + rdx + 0x1c]
mov edx, dword [rax + rdx + 0x24]
add rcx, rax
add rdx, rax
movzx edx, word [rdx + r11*2]
mov edx, dword [rcx + rdx*4]
add rdx, rax
xor ecx, ecx
call rdx
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
add rcx, 0x10
mov rcx, qword [rcx]
mov rax, qword [rcx + 0x30]
movsxd rdx, dword [rax + 0x3c]
mov edx, dword [rax + rdx + 0x88]
test rdx, rdx
je 0x14000202e
mov r8d, dword [rax + rdx + 0x18]
test r8, r8
je 0x14000202e
mov r9d, dword [rax + rdx + 0x20]
add r9, rax
lea r10, [rax + 1]
dec r8
mov r11d, r8d
mov edi, dword [r9 + r11*4]
mov bl, byte [rax + rdi]
test bl, bl
je 0x140002090
add rdi, r10
mov ebp, 0xcdd556af
movsx ebx, bl
xor ebx, ebp
imul ebp, ebx, 0x1000193
mov bl, byte [rdi]
inc rdi
test bl, bl
jne 0x140002074
cmp ebp, 0x22a97558
je 0x140002097
test r11, r11
jne 0x14000205b
jmp 0x14000202e
mov ecx, dword [rax + rdx + 0x1c]
mov edx, dword [rax + rdx + 0x24]
add rcx, rax
add rdx, rax
movzx edx, word [rdx + r11*2]
mov r10d, dword [rcx + rdx*4]
add r10, rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
mov rcx, rsi
mov edx, 0x80000000
mov r8d, 7
xor r9d, r9d
call r10
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
add rcx, 0x10
cmp rax, 0xffffffffffffffff
je 0x14000215f
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x30]
movsxd r8, dword [rdx + 0x3c]
mov r8d, dword [rdx + r8 + 0x88]
test r8, r8
je 0x1400020f5
mov r9d, dword [rdx + r8 + 0x18]
test r9, r9
je 0x1400020f5
mov r10d, dword [rdx + r8 + 0x20]
add r10, rdx
lea r11, [rdx + 1]
dec r9
mov esi, r9d
mov edi, dword [r10 + rsi*4]
mov bl, byte [rdx + rdi]
test bl, bl
je 0x140002158
add rdi, r11
mov ebp, 0xce58cbf9
movsx ebx, bl
xor ebx, ebp
imul ebp, ebx, 0x1000193
mov bl, byte [rdi]
inc rdi
test bl, bl
jne 0x14000213c
cmp ebp, 0x5c8e6039
je 0x1400021c8
test rsi, rsi
jne 0x140002123
jmp 0x1400020f5
mov rcx, qword [rcx]
mov rax, qword [rcx + 0x30]
movsxd rdx, dword [rax + 0x3c]
mov edx, dword [rax + rdx + 0x88]
test rdx, rdx
je 0x14000215f
mov r8d, dword [rax + rdx + 0x18]
test r8, r8
je 0x14000215f
mov r9d, dword [rax + rdx + 0x20]
add r9, rax
lea r10, [rax + 1]
dec r8
mov r11d, r8d
mov esi, dword [r9 + r11*4]
mov bl, byte [rax + rsi]
test bl, bl
je 0x1400021c1
add rsi, r10
mov edi, 0x2b89347e
movsx ebx, bl
xor ebx, edi
imul edi, ebx, 0x1000193
mov bl, byte [rsi]
inc rsi
test bl, bl
jne 0x1400021a5
cmp edi, 0x1d0be9f8
je 0x1400021ee
test r11, r11
jne 0x14000218c
jmp 0x14000215f
mov ecx, dword [rdx + r8 + 0x1c]
mov r8d, dword [rdx + r8 + 0x24]
add rcx, rdx
add r8, rdx
movzx r8d, word [r8 + rsi*2]
mov r8d, dword [rcx + r8*4]
add r8, rdx
mov rcx, rax
call r8
xor eax, eax
jmp 0x14000220f
mov ecx, dword [rax + rdx + 0x1c]
mov edx, dword [rax + rdx + 0x24]
add rcx, rax
add rdx, rax
movzx edx, word [rdx + r11*2]
mov ecx, dword [rcx + rdx*4]
add rcx, rax
call rcx
cmp eax, 0x20
sete al
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
ret