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

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
push r12
push r15
sub rsp, 0x20
xor r15b, r15b
movzx ebx, dl
mov rdi, rcx
cmp byte [rcx + 0xab], r15b
je 0x1400bcf6a
mov r15b, 1
mov byte [rcx + 0xab], 0
cmp byte [0x140398cdc], 0
je 0x1400bcfbc
movss xmm1, dword [rcx + 0x10]
movss xmm2, dword [0x140398cd0]
comiss xmm2, xmm1
jb 0x1400bcfbc
movss xmm0, dword [rcx + 0x14]
movss xmm3, dword [0x140398cd4]
comiss xmm3, xmm0
jb 0x1400bcfbc
addss xmm1, dword [rcx + 0x20]
comiss xmm1, xmm2
jb 0x1400bcfbc
addss xmm0, dword [rcx + 0x24]
comiss xmm0, xmm3
jb 0x1400bcfbc
mov dl, 1
mov byte [0x140398d4c], 3
mov byte [0x140398cdd], dl
jmp 0x1400bcfbe
xor dl, dl
movzx ecx, byte [rcx + 0xa8]
xor r12d, r12d
test cl, cl
jne 0x1400bd02b
test dl, dl
je 0x1400bd110
mov byte [rdi + 0xa8], 1
cmp byte [rdi + 0xac], r12b
je 0x1400bcff3
mov dword [rdi + 0xc], 0x3f800000
mov r15b, 1
jmp 0x1400bd110
movss xmm0, dword [rdi]
mov r15b, 1
movss xmm2, dword [0x140376e1c]
movss xmm1, dword [rdi + 8]
addss xmm0, xmm2
addss xmm1, xmm2
movss dword [rdi], xmm0
movss xmm0, dword [rdi + 4]
addss xmm0, xmm2
movss dword [rdi + 8], xmm1
movss dword [rdi + 4], xmm0
jmp 0x1400bd110
lea eax, [rcx - 1]
cmp al, 1
ja 0x1400bd110
test dl, dl
jne 0x1400bd08e
mov byte [rdi + 0xa8], r12b
cmp byte [rdi + 0xac], r12b
je 0x1400bd056
mov dword [rdi + 0xc], r12d
mov r15b, 1
jmp 0x1400bd110
movss xmm0, dword [rdi]
mov r15b, 1
movss xmm2, dword [0x140376e1c]
movss xmm1, dword [rdi + 8]
subss xmm0, xmm2
subss xmm1, xmm2
movss dword [rdi], xmm0
movss xmm0, dword [rdi + 4]
subss xmm0, xmm2
movss dword [rdi + 8], xmm1
movss dword [rdi + 4], xmm0
jmp 0x1400bd110
cmp byte [0x140398cd8], r12b
je 0x1400bd0e6
movss xmm1, dword [rdi + 0x10]
movss xmm2, dword [0x140398cb0]
comiss xmm2, xmm1
jb 0x1400bd0e6
movss xmm0, dword [rdi + 0x14]
movss xmm3, dword [0x140398cb4]
comiss xmm3, xmm0
jb 0x1400bd0e6
addss xmm1, dword [rdi + 0x20]
comiss xmm1, xmm2
jb 0x1400bd0e6
addss xmm0, dword [rdi + 0x24]
comiss xmm0, xmm3
jb 0x1400bd0e6
cmp cl, 2
je 0x1400bd110
mov byte [rdi + 0xa8], 2
cmp byte [rdi + 0xaa], r12b
je 0x1400bd110
jmp 0x1400bd0fb
cmp cl, 2
jne 0x1400bd110
mov byte [rdi + 0xa8], 1
cmp byte [rdi + 0xaa], r12b
jne 0x1400bd110
mov rax, qword [rdi + 0xb0]
test rax, rax
je 0x1400bd110
mov rcx, qword [rdi + 0xb8]
call rax
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], r14
test bl, bl
je 0x1400bd38d
mov rax, qword [0x1403d2d28]
test rax, rax
jne 0x1400bd200
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [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 0x1400bd1da
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x1400bd1da
mov r14d, dword [rbp + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0xc4e00106
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1400bd1d5
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 0x1400bd1a0
cmp r10d, 0xb38025b0
je 0x1400bd1e2
test r11d, r11d
jne 0x1400bd180
mov rax, qword [rax]
jmp 0x1400bd150
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
mov qword [0x1403d2d28], rax
call rax
cmp dword [rdi + 0xa0], eax
jae 0x1400bd38d
mov rdx, qword [0x14039d378]
mov rax, qword [0x14039d380]
mov r8d, dword [rdi + 0x50]
sub rax, rdx
mov rcx, qword [rdi + 0x48]
inc r8d
sar rax, 3
cmp rax, rcx
jbe 0x1400bd3af
mov rax, qword [rdx + rcx*8]
lea rcx, [rdi + 0x30]
cmp r8d, dword [rax + 0x2c]
cmovb r12d, r8d
mov edx, r12d
call fcn.1400b9830
mov rdx, qword [0x1403d2d30]
test rdx, rdx
jne 0x1400bd320
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 ebp, dword [rcx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x1400bd2fa
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x1400bd2fa
mov r14d, dword [rbp + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0x8b59ff81
lea rcx, [rbx + r11*4]
mov r8d, dword [rcx + r14]
add r8, rbx
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x1400bd2f5
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 0x1400bd2c0
cmp r10d, 0x639738a5
je 0x1400bd302
test r11d, r11d
jne 0x1400bd2a0
mov rax, qword [rax]
jmp 0x1400bd270
mov ecx, dword [rbp + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbp + 0x1c]
add rcx, rbx
mov edx, dword [rcx + rdx*4]
add rdx, rbx
mov qword [0x1403d2d30], rdx
mov r8, qword [0x14039d378]
mov rax, qword [0x14039d380]
mov rcx, qword [rdi + 0x48]
sub rax, r8
sar rax, 3
cmp rax, rcx
jbe 0x1400bd3af
mov rax, qword [r8 + rcx*8]
mov ecx, dword [rdi + 0x50]
add rcx, rcx
mov rax, qword [rax + 0x30]
mov ebx, dword [rax + rcx*8]
call rdx
add eax, ebx
mov dword [rdi + 0xa0], eax
test r12d, r12d
jne 0x1400bd38a
mov eax, dword [rdi + 0xa4]
test eax, eax
je 0x1400bd38a
test eax, 0xff000000
je 0x1400bd38a
call fcn.14031a6a4
mov ecx, dword [rdi + 0xa4]
xor edx, edx
and ecx, 0xffffff
div ecx
add dword [rdi + 0xa0], edx
mov r15b, 1
mov r14, qword [rsp + 0x50]
movzx eax, r15b
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r12
pop rdi
ret
call fcn.140077f00
int3