Function at 0x1400caa20
Capabilities:
Access peb ldr_data
Encode data using xor
Encrypt data using rc4 prga
Get kernel32 base address
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x18], r8
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
movss xmm3, dword [rsp + 0x88]
mov r14, rcx
movzx ecx, byte [rsp + 0x90]
movaps xmm4, xmm3
mulss xmm4, dword [0x14039fe1c]
test cl, cl
mov r12, qword [rsp + 0x80]
mov rax, r9
cmove rax, r12
mov qword [rsp + 0x70], rdx
xor edx, edx
movaps xmmword [rsp + 0x20], xmm6
mulss xmm4, dword [0x1403c1cf0]
test cl, cl
mov r15, r9
movss xmm6, dword [rsp + 0x70]
movaps xmm2, xmmword [rax]
mov rax, r12
divss xmm4, dword [0x1403c1cf4]
mov qword [r14 + 0x18], rdx
cmove rax, r9
mov qword [r14 + 0x28], rdx
movss dword [r14], xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xaa
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
movss dword [r14 + 0x24], xmm4
movss dword [r14 + 4], xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x14039fe14]
mulss xmm4, dword [0x14039fe20]
movss dword [r14 + 8], xmm1
movss xmm1, dword [rsp + 0x74]
shufps xmm2, xmm2, 0xff
addss xmm4, xmm1
movss dword [r14 + 0xc], xmm2
movaps xmm2, xmmword [rax]
movss dword [r14 + 0x10], xmm6
movss dword [r14 + 0x14], xmm1
movss dword [r14 + 0x20], xmm3
movss xmm5, dword [0x1403c1cf4]
divss xmm5, dword [0x1403c1cf0]
mulss xmm5, xmm0
je 0x1400cab25
mulss xmm3, dword [0x14039fe40]
jmp 0x1400cab2d
mulss xmm3, dword [0x14039fdf0]
movss dword [r14 + 0x30], xmm2
addss xmm3, xmm6
movss dword [r14 + 0x44], xmm4
movaps xmm0, xmm2
movss dword [r14 + 0x50], xmm5
movaps xmm1, xmm2
mov qword [r14 + 0x48], rdx
shufps xmm0, xmm2, 0x55
movss dword [r14 + 0x40], xmm3
movss dword [r14 + 0x34], xmm0
shufps xmm1, xmm2, 0xaa
movss dword [r14 + 0x38], xmm1
shufps xmm2, xmm2, 0xff
movss dword [r14 + 0x3c], xmm2
mov qword [r14 + 0x58], rdx
mov qword [r14 + 0x60], rdx
mov word [r14 + 0x68], 1
mov byte [r14 + 0x6a], cl
mov word [r14 + 0x6b], dx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov ebp, dword [rcx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x1400cac2a
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x1400cac2a
mov esi, dword [rbp + 0x20]
dec r11d
mov r10d, 0xf413072e
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1400cac25
nop dword [rax]
nop word [rax + rax]
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 0x1400cabf0
cmp r10d, 0x65594ea8
je 0x1400cac32
test r11d, r11d
jne 0x1400cabc3
mov rax, qword [rax]
jmp 0x1400caba0
mov ecx, dword [rbp + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbp + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
call rax
movaps xmm0, xmmword [r15]
movss xmm1, dword [r14 + 0x24]
mulss xmm1, dword [0x14039fe20]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x78]
movaps xmm6, xmmword [rsp + 0x20]
movups xmmword [r14 + 0x74], xmm0
mov dword [r14 + 0x70], eax
mov rax, r14
movaps xmm0, xmmword [r12]
movups xmmword [r14 + 0x84], xmm0
mulss xmm1, dword [0x1403c1cf4]
movss dword [r14 + 0x28], xmm1
movss dword [r14 + 0x2c], xmm1
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret