Function at 0x180051a00
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x180116040]
xor rax, rsp
mov qword [rbp - 0x50], rax
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm1
ucomiss xmm1, xmm0
mov rbx, rcx
jp 0x180051a37
je 0x180051ee4
mov eax, dword [rcx]
mov edx, 0x20
movaps xmmword [rsp + 0x150], xmm6
lea rcx, [rsp + 0x68]
movaps xmmword [rsp + 0x140], xmm7
movaps xmmword [rsp + 0x130], xmm8
movaps xmmword [rsp + 0x120], xmm9
movaps xmmword [rsp + 0x110], xmm10
mov qword [rsp + 0x60], rdx
movaps xmmword [rsp + 0x100], xmm11
shr edx, 3
and edx, 0x3f
movaps xmmword [rsp + 0xf0], xmm12
movups xmmword [rsp + 0x68], xmm0
mov dword [rsp + 0x68], eax
mov eax, edx
add rcx, rax
movaps xmmword [rsp + 0xe0], xmm13
mov eax, 0x3f
mov dword [rsp + 0x50], 0x67452301
sub eax, edx
mov dword [rsp + 0x54], 0xefcdab89
movups xmmword [rsp + 0x78], xmm0
mov dword [rsp + 0x58], 0x98badcfe
xor edx, edx
movups xmmword [rbp - 0x78], xmm0
mov dword [rsp + 0x5c], 0x10325476
movups xmmword [rbp - 0x68], xmm0
mov byte [rcx], 0x80
inc rcx
movaps xmmword [rsp + 0xd0], xmm14
movaps xmmword [rsp + 0xc0], xmm15
mov qword [rsp + 0x40], 0
cmp eax, 8
jae 0x180051b2e
mov r8d, eax
call sub.VCRUNTIME140.dll_memset
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x50]
call fcn.180050500
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [rbp - 0x68], rax
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm0
jmp 0x180051b39
add eax, 0xfffffff8
mov r8d, eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rsp + 0x60]
lea rdx, [rsp + 0x68]
mov dword [rbp - 0x60], eax
lea rcx, [rsp + 0x50]
mov eax, dword [rsp + 0x64]
mov dword [rbp - 0x5c], eax
call fcn.180050500
movaps xmm0, xmmword [rsp + 0x50]
xorps xmm1, xmm1
mov rcx, qword [0x18011d1c0]
xor eax, eax
movups xmmword [rsp + 0x50], xmm1
mov qword [rbp - 0x60], rax
movups xmmword [rsp + 0x60], xmm1
movups xmmword [rsp + 0x70], xmm1
movups xmmword [rbp - 0x80], xmm1
movups xmmword [rbp - 0x70], xmm1
mov rax, qword [rcx]
movups xmmword [rsp + 0x30], xmm0
movzx edx, byte [rsp + 0x36]
call qword [rax]
mov rcx, qword [0x18011d1c0]
movss xmm8, dword [0x1801029d8]
movss xmm7, dword [0x180102b54]
movaps xmm2, xmm8
movaps xmm1, xmm7
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
call rdx
mov rcx, qword [0x18011d1c0]
movaps xmm2, xmm8
movaps xmm1, xmm7
movaps xmm6, xmm0
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
call rdx
mov rcx, qword [0x18011d1c0]
movaps xmm15, xmm0
movaps xmm2, xmm8
addss xmm15, xmm6
movaps xmm1, xmm7
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
call rdx
mov rcx, qword [0x18011d1c0]
movaps xmm2, xmm8
movaps xmm1, xmm7
movaps xmm6, xmm0
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
call rdx
movsd xmm2, qword [0x180102a18]
movaps xmm14, xmm0
movss xmm0, dword [rbx + 0xc]
addss xmm14, xmm6
movss xmm1, dword [rbx + 8]
cvtps2pd xmm1, xmm1
movss dword [rsp + 0x24], xmm0
mulsd xmm1, xmm2
cvtpd2ps xmm6, xmm1
cvtps2pd xmm1, xmm0
movss xmm0, dword [rbx + 0x10]
mulsd xmm1, xmm2
movss dword [rsp + 0x28], xmm0
cvtpd2ps xmm7, xmm1
cvtps2pd xmm1, xmm0
movaps xmm0, xmm6
mulsd xmm1, xmm2
cvtpd2ps xmm8, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm13, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm12, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm9, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm11, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm15, dword [rsp + 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
mulss xmm14, dword [rsp + 0x20]
movaps xmm4, xmm0
movaps xmm10, xmm0
mulss xmm4, xmm13
mulss xmm10, dword [0x180102b64]
movaps xmm8, xmm0
movaps xmm3, xmm11
mulss xmm8, xmm12
movaps xmm1, xmm4
mulss xmm3, xmm13
movaps xmm2, xmm9
mulss xmm1, xmm6
xorps xmm2, xmmword [0x180102cf0]
movaps xmm0, xmm3
mulss xmm0, xmm6
movaps xmm5, xmm2
mulss xmm5, xmm10
mulss xmm2, xmm11
subss xmm5, xmm0
mulss xmm10, xmm6
movaps xmm0, xmm6
mulss xmm4, xmm9
mulss xmm0, xmm12
subss xmm1, xmm2
mulss xmm5, xmm15
mulss xmm3, xmm9
addss xmm5, xmm0
mulss xmm1, xmm14
movaps xmm0, xmm9
mulss xmm8, xmm14
subss xmm10, xmm3
mulss xmm0, xmm12
addss xmm5, xmm1
mulss xmm10, xmm15
movss dword [rsp + 0x30], xmm5
addss xmm10, xmm0
movaps xmm0, xmm11
mulss xmm11, dword [0x180102b64]
mulss xmm0, xmm6
mulss xmm11, xmm12
subss xmm4, xmm0
mulss xmm11, xmm15
mulss xmm4, xmm14
subss xmm11, xmm13
addss xmm10, xmm4
addss xmm11, xmm8
movss dword [rsp + 0x34], xmm10
movss dword [rsp + 0x38], xmm11
call fcn.18006f780
movss xmm0, dword [rsp + 0x40]
movss xmm1, dword [0x180102ad0]
comiss xmm0, xmm1
movss xmm2, dword [0x180102b84]
movaps xmm15, xmmword [rsp + 0xc0]
movaps xmm14, xmmword [rsp + 0xd0]
movaps xmm13, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm11, xmmword [rsp + 0x100]
movaps xmm10, xmmword [rsp + 0x110]
movaps xmm9, xmmword [rsp + 0x120]
movaps xmm8, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x140]
movaps xmm6, xmmword [rsp + 0x150]
jbe 0x180051e21
addss xmm0, xmm2
comiss xmm0, xmm1
ja 0x180051e12
movss dword [rsp + 0x40], xmm0
movss xmm3, dword [0x180102b78]
comiss xmm3, xmm0
movss xmm1, dword [0x180102ae8]
jbe 0x180051e45
addss xmm0, xmm1
comiss xmm3, xmm0
ja 0x180051e36
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rsp + 0x44]
comiss xmm2, xmm0
jbe 0x180051e6f
movss xmm3, dword [0x180102b00]
nop dword [rax + rax]
addss xmm0, xmm3
comiss xmm2, xmm0
ja 0x180051e60
movss dword [rsp + 0x44], xmm0
comiss xmm0, xmm1
jbe 0x180051e8f
movss xmm2, dword [0x180102b88]
nop dword [rax]
addss xmm0, xmm2
comiss xmm0, xmm1
ja 0x180051e80
movss dword [rsp + 0x44], xmm0
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x48], 0
call fcn.18006f960
movss xmm0, dword [rbx + 8]
movaps xmm5, xmm0
subss xmm5, dword [rsp + 0x40]
addss xmm5, xmm0
movss xmm0, dword [rsp + 0x24]
subss xmm0, dword [rsp + 0x44]
movss dword [rbx + 8], xmm5
addss xmm0, dword [rbx + 0xc]
movss dword [rbx + 0xc], xmm0
movss xmm0, dword [rsp + 0x28]
subss xmm0, dword [rsp + 0x48]
addss xmm0, dword [rbx + 0x10]
movss dword [rbx + 0x10], xmm0
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.1800dbea0
mov rbx, qword [rsp + 0x178]
add rsp, 0x160
pop rbp
ret