Function at 0x1400c94a0
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 0x1400c94c1
mov bpl, 1
mov byte [rcx + 0x131], 0
cmp byte [rcx + 0x130], 0
je 0x1400c9730
mov qword [rsp + 0x40], rbx
add rcx, 0x30
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x20], r14
call fcn.1400c1320
or bpl, al
mov rax, qword [0x140423ca0]
test rax, rax
jne 0x1400c95c0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x1400c959a
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x1400c959a
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0x52138c9d
lea rcx, [r14 + r11*4]
mov r8d, dword [rcx + rbx]
add r8, rbx
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x1400c9595
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 0x1400c9560
cmp r10d, 0xb75ce101
je 0x1400c95a2
test r11d, r11d
jne 0x1400c9540
mov rax, qword [rax]
jmp 0x1400c9510
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 [0x140423ca0], rax
call rax
cmp dword [r15 + 0x13c], eax
jae 0x1400c972a
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 0x1400c9610
movss dword [rax + 0x14], xmm3
mov dword [rax + 0x10], 0x3f800000
cmp byte [r15 + 0x132], 0
je 0x1400c9623
mov byte [r15 + 0x130], 0
jmp 0x1400c9623
subss xmm2, dword [r15 + 0x138]
movss dword [rax + 0x14], xmm3
movss dword [rax + 0x10], xmm2
mov rax, qword [0x140423ca8]
test rax, rax
jne 0x1400c9700
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 0x1400c96da
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x1400c96da
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0xe3770f9a
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1400c96d5
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 0x1400c96a0
cmp r10d, 0x1d1b6094
je 0x1400c96e2
test r11d, r11d
jne 0x1400c9680
mov rax, qword [rax]
jmp 0x1400c9650
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 [0x140423ca8], 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 0x1400c970e
movzx eax, bpl
add rsp, 0x28
pop r15
pop rbp
ret