Function at 0x180077d6c
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 xmm6, xmm2
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x1800b5198]
cmp qword [0x1800b5190], rax
movaps xmmword [rsp + 0x60], xmm11
movaps xmmword [rsp + 0x50], xmm14
movaps xmm14, xmm0
movaps xmmword [rsp + 0x40], xmm15
movaps xmm15, xmm1
jne 0x18007844f
mov eax, r9d
cdq
sub eax, edx
sar eax, 1
mov ebp, eax
test eax, eax
jle 0x18007844f
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 0x180077e74
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x180077e74
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0x3886ab84
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x180077e6f
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 0x180077e40
cmp edi, 0x8683f923
je 0x180077e79
test r11d, r11d
jne 0x180077e22
mov rax, qword [rax]
jmp 0x180077dfd
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 [0x1800ae81c]
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 0x180077f2c
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x180077f2c
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0xcd02eafa
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x180077f27
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 0x180077ef8
cmp edi, 0x30b6c571
je 0x180077f31
test r11d, r11d
jne 0x180077eda
mov rax, qword [rax]
jmp 0x180077eb5
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 [0x1800ae818]
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 0x180077fe4
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x180077fe4
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0xd21b858c
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x180077fdf
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 0x180077fb0
cmp edi, 0xb2bb0cfb
je 0x180077fe9
test r11d, r11d
jne 0x180077f92
mov rax, qword [rax]
jmp 0x180077f6d
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 xmm8, eax
mov rax, qword gs:[0x60]
cvtdq2ps xmm8, xmm8
mov rax, qword [rax + 0x18]
mulss xmm8, dword [0x1800af2ac]
mov rax, qword [rax + 0x10]
mulss xmm8, xmm14
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x1800780a1
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x1800780a1
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0x4fb2ea24
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x18007809c
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 0x18007806d
cmp edi, 0x3201ebc3
je 0x1800780a6
test r11d, r11d
jne 0x18007804f
mov rax, qword [rax]
jmp 0x18007802a
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 [0x1800af2ac]
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 0x18007815b
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x18007815b
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0x89fec218
lea rcx, [r14 + r11*4]
mov r8d, dword [rcx + r9]
add r8, r9
mov r10b, byte [r8]
inc r8
test r10b, r10b
je 0x180078156
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 0x180078127
cmp edi, 0xb0413d27
je 0x180078160
test r11d, r11d
jne 0x180078109
mov rax, qword [rax]
jmp 0x1800780e4
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 xmm9, eax
cvtdq2ps xmm9, xmm9
mulss xmm9, dword [0x1800af2ac]
mulss xmm9, xmm6
call fcn.18004a34c
movaps xmm6, xmm0
movaps xmm0, xmm11
mulss xmm6, xmm8
call fcn.18004a058
movaps xmm8, xmm0
movaps xmm0, xmm10
mulss xmm8, xmm6
call fcn.18004a34c
movaps xmm6, xmm0
movaps xmm0, xmm11
mulss xmm6, xmm7
call fcn.18004a34c
movaps xmm7, xmm0
movaps xmm0, xmm10
mulss xmm7, xmm6
call fcn.18004a058
mulss xmm0, xmm9
lea rcx, [rsp + 0x20]
movaps xmm2, xmm7
movaps xmm1, xmm8
movaps xmm3, xmm0
call fcn.18009a6d8
mov rcx, qword [0x1800b5198]
cmp rcx, qword [0x1800b51a0]
je 0x180078217
mov rdx, rax
call fcn.18009a688
add qword [0x1800b5198], 0xc
jmp 0x180078229
mov rdx, rcx
mov r8, rax
lea rcx, [0x1800b5190]
call fcn.180054f3c
movss xmm6, dword [rsp + 0x100]
sub r15, 1
jne 0x180077dec
movaps xmm10, xmm6
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 0x1800782c8
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x1800782c8
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0xd60de452
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1800782c3
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 0x180078294
cmp edi, 0x18f9f419
je 0x1800782cd
test r11d, r11d
jne 0x180078276
mov rax, qword [rax]
jmp 0x180078251
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 [0x1800ae81c]
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 0x18007837d
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x18007837d
mov r14d, dword [rbx + 0x20]
add r11d, r13d
mov edi, 0x6a769c10
lea rcx, [r14 + r11*4]
mov r8d, dword [rcx + r9]
add r8, r9
mov r10b, byte [r8]
inc r8
test r10b, r10b
je 0x180078378
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 0x180078349
cmp edi, 0xac65956f
je 0x180078382
test r11d, r11d
jne 0x18007832b
mov rax, qword [rax]
jmp 0x180078306
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 [0x1800ae818]
movaps xmm0, xmm9
call fcn.18004a34c
movaps xmm6, xmm0
movaps xmm0, xmm7
mulss xmm6, xmm14
call fcn.18004a058
movaps xmm8, xmm0
movaps xmm0, xmm9
mulss xmm8, xmm6
call fcn.18004a34c
movaps xmm6, xmm0
movaps xmm0, xmm7
mulss xmm6, xmm15
call fcn.18004a34c
movaps xmm7, xmm0
movaps xmm0, xmm9
mulss xmm7, xmm6
call fcn.18004a058
mulss xmm0, xmm10
lea rcx, [rsp + 0x2c]
movaps xmm2, xmm7
movaps xmm1, xmm8
movaps xmm3, xmm0
call fcn.18009a6d8
mov rcx, qword [0x1800b5198]
cmp rcx, qword [0x1800b51a0]
je 0x180078433
mov rdx, rax
call fcn.18009a688
add qword [0x1800b5198], 0xc
jmp 0x180078445
mov rdx, rcx
mov r8, rax
lea rcx, [0x1800b5190]
call fcn.180054f3c
sub rbp, 1
jne 0x180078240
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