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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
movss dword [rax + 0x18], xmm2
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0xc0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x1800bc198]
cmp qword [0x1800bc190], rax
movaps xmmword [rsp + 0x60], xmm11
movaps xmmword [rsp + 0x50], xmm14
movaps xmm14, xmm0
movaps xmmword [rsp + 0x40], xmm15
movaps xmm15, xmm1
jne 0x1800782ff
mov eax, r9d
cdq
sub eax, edx
sar eax, 1
mov ebp, eax
test eax, eax
jle 0x1800782ff
mov r15d, ebp
or r13d, 0xffffffff
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x180077d25
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x180077d25
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0xb1a2beb8
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x180077d20
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x180077cf1
cmp edi, 0x937660c7
je 0x180077d2a
test r11d, r11d
jne 0x180077cd3
mov rax, qword [rax]
jmp 0x180077cae
mov ecx, dword [rbx + 0x24]
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
movd xmm11, eax
mov rax, qword gs:[0x60]
cvtdq2ps xmm11, xmm11
mov rax, qword [rax + 0x18]
mulss xmm11, dword [0x1800b582c]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x180077ddd
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x180077ddd
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0xc4b9f0be
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x180077dd8
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x180077da9
cmp edi, 0xe232f305
je 0x180077de2
test r11d, r11d
jne 0x180077d8b
mov rax, qword [rax]
jmp 0x180077d66
mov ecx, dword [rbx + 0x24]
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
movd xmm10, eax
mov rax, qword gs:[0x60]
cvtdq2ps xmm10, xmm10
mov rax, qword [rax + 0x18]
mulss xmm10, dword [0x1800b5828]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x180077e95
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x180077e95
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0x3ad03a88
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x180077e90
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x180077e61
cmp edi, 0xa6f01db7
je 0x180077e9a
test r11d, r11d
jne 0x180077e43
mov rax, qword [rax]
jmp 0x180077e1e
mov ecx, dword [rbx + 0x24]
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
movd xmm9, eax
mov rax, qword gs:[0x60]
cvtdq2ps xmm9, xmm9
mov rax, qword [rax + 0x18]
mulss xmm9, dword [0x1800b62bc]
mov rax, qword [rax + 0x10]
mulss xmm9, xmm14
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x180077f52
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x180077f52
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0x98676cc0
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x180077f4d
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x180077f1e
cmp edi, 0x414b6ff
je 0x180077f57
test r11d, r11d
jne 0x180077f00
mov rax, qword [rax]
jmp 0x180077edb
mov ecx, dword [rbx + 0x24]
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
movd xmm7, eax
mov rax, qword gs:[0x60]
cvtdq2ps xmm7, xmm7
mov rax, qword [rax + 0x18]
mulss xmm7, dword [0x1800b62bc]
mov rax, qword [rax + 0x10]
mulss xmm7, xmm15
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov ebx, dword [rcx + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x18007800c
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x18007800c
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0xba88299c
lea rcx, [r14 + r11*4]
mov r8d, dword [rcx + r9]
add r8, r9
mov r10b, byte [r8]
inc r8
test r10b, r10b
je 0x180078007
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r8]
cmova edx, ecx
inc r8
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x180077fd8
cmp edi, 0x8711732b
je 0x180078011
test r11d, r11d
jne 0x180077fba
mov rax, qword [rax]
jmp 0x180077f95
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
call rax
movaps xmm0, xmm10
movd xmm8, eax
cvtdq2ps xmm8, xmm8
call fcn.18004a490
movaps xmm6, xmm0
movaps xmm0, xmm11
mulss xmm6, xmm9
call fcn.18004a19c
movaps xmm9, xmm0
movaps xmm0, xmm10
mulss xmm9, xmm6
call fcn.18004a490
movaps xmm6, xmm0
movaps xmm0, xmm11
mulss xmm6, xmm7
call fcn.18004a490
movaps xmm7, xmm0
movaps xmm0, xmm10
mulss xmm7, xmm6
call fcn.18004a19c
movss xmm10, dword [rsp + 0x100]
lea rcx, [rsp + 0x20]
movaps xmm3, xmm0
movaps xmm2, xmm7
movaps xmm0, xmm10
mulss xmm3, xmm8
mulss xmm0, dword [0x1800b62bc]
movaps xmm1, xmm9
mulss xmm3, xmm0
call fcn.1800a0b64
mov rcx, qword [0x1800bc198]
cmp rcx, qword [0x1800bc1a0]
je 0x1800780d4
mov rdx, rax
call fcn.1800a0b14
add qword [0x1800bc198], 0xc
jmp 0x1800780e6
mov rdx, rcx
mov r8, rax
lea rcx, [0x1800bc190]
call fcn.180054fe8
sub r15, 1
jne 0x180077c9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x180078178
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x180078178
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0xf0ba75b6
lea rcx, [r8 + r11*4]
mov r9d, dword [rcx + r14]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x180078173
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x180078144
cmp edi, 0x636948cd
je 0x18007817d
test r11d, r11d
jne 0x180078126
mov rax, qword [rax]
jmp 0x180078101
mov ecx, dword [rbx + 0x24]
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
movd xmm7, eax
mov rax, qword gs:[0x60]
cvtdq2ps xmm7, xmm7
mov rax, qword [rax + 0x18]
mulss xmm7, dword [0x1800b582c]
mov rax, qword [rax + 0x10]
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov ebx, dword [rcx + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x18007822d
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x18007822d
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0xd22708c
lea rcx, [r14 + r11*4]
mov r8d, dword [rcx + r9]
add r8, r9
mov r10b, byte [r8]
inc r8
test r10b, r10b
je 0x180078228
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r8]
cmova edx, ecx
inc r8
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1800781f9
cmp edi, 0xb605a7fb
je 0x180078232
test r11d, r11d
jne 0x1800781db
mov rax, qword [rax]
jmp 0x1800781b6
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
call rax
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mulss xmm9, dword [0x1800b5828]
movaps xmm0, xmm9
call fcn.18004a490
movaps xmm6, xmm0
movaps xmm0, xmm7
mulss xmm6, xmm14
call fcn.18004a19c
movaps xmm8, xmm0
movaps xmm0, xmm9
mulss xmm8, xmm6
call fcn.18004a490
movaps xmm6, xmm0
movaps xmm0, xmm7
mulss xmm6, xmm15
call fcn.18004a490
movaps xmm7, xmm0
movaps xmm0, xmm9
mulss xmm7, xmm6
call fcn.18004a19c
mulss xmm0, xmm10
lea rcx, [rsp + 0x2c]
movaps xmm2, xmm7
movaps xmm1, xmm8
movaps xmm3, xmm0
call fcn.1800a0b64
mov rcx, qword [0x1800bc198]
cmp rcx, qword [0x1800bc1a0]
je 0x1800782e3
mov rdx, rax
call fcn.1800a0b14
add qword [0x1800bc198], 0xc
jmp 0x1800782f5
mov rdx, rcx
mov r8, rax
lea rcx, [0x1800bc190]
call fcn.180054fe8
sub rbp, 1
jne 0x1800780f0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm14, xmmword [r11 - 0x70]
movaps xmm15, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret