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

Disassembly:
push rbp
push r15
sub rsp, 0x28
xor bpl, bpl
mov r15, rcx
cmp byte [rcx + 0x131], bpl
je 0x1400c58b1
mov bpl, 1
mov byte [rcx + 0x131], 0
cmp byte [rcx + 0x130], 0
je 0x1400c5b20
mov qword [rsp + 0x40], rbx
add rcx, 0x30
mov qword [rsp + 0x48], rsi
xor edx, edx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x20], r14
call fcn.1400bcf40
or bpl, al
mov rax, qword [0x1403d2d60]
test rax, rax
jne 0x1400c59b0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x1400c598a
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x1400c598a
mov r14d, dword [rsi + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x9f04cdc5
lea rcx, [r14 + r11*4]
mov r8d, dword [rcx + rbx]
add r8, rbx
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x1400c5985
movsx ecx, r9b
lea r8, [r8 + 1]
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
movzx r9d, byte [r8 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r9b, r9b
jne 0x1400c5950
cmp r10d, 0x39b58d99
je 0x1400c5992
test r11d, r11d
jne 0x1400c5930
mov rax, qword [rax]
jmp 0x1400c5901
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
mov qword [0x1403d2d60], rax
call rax
cmp dword [r15 + 0x13c], eax
jae 0x1400c5b1a
mov rax, qword [r15 + 0xf0]
xorps xmm0, xmm0
movss xmm2, dword [rax + 0x10]
movss xmm3, dword [rax + 0x14]
movaps xmm1, xmm2
addss xmm1, dword [rax + 0x2c]
comiss xmm0, xmm1
jbe 0x1400c5a00
movss dword [rax + 0x14], xmm3
mov dword [rax + 0x10], 0x3f800000
cmp byte [r15 + 0x132], 0
je 0x1400c5a13
mov byte [r15 + 0x130], 0
jmp 0x1400c5a13
subss xmm2, dword [r15 + 0x138]
movss dword [rax + 0x14], xmm3
movss dword [rax + 0x10], xmm2
mov rax, qword [0x1403d2d68]
test rax, rax
jne 0x1400c5af0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x1400c5aca
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x1400c5aca
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0xcdc83b49
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1400c5ac5
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x1400c5a90
cmp r10d, 0xb07132fd
je 0x1400c5ad2
test r11d, r11d
jne 0x1400c5a70
mov rax, qword [rax]
jmp 0x1400c5a40
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
mov qword [0x1403d2d68], rax
call rax
add eax, 5
mov dword [r15 + 0x13c], eax
mov al, 1
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop r15
pop rbp
ret
movzx eax, bpl
jmp 0x1400c5afe
movzx eax, bpl
add rsp, 0x28
pop r15
pop rbp
ret