Function at 0x1005b510
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x94
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x24]
mov dword [esp + 8], eax
push ebx
push ebp
movups xmm1, xmmword [eax + 0xc]
push esi
push edi
movd eax, xmm1
movaps xmm0, xmm1
psrldq xmm0, 8
cdq
mov ebp, eax
mov ecx, edx
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
psrldq xmm1, 4
cdq
mov edi, eax
mov dword [esp + 0x2c], edx
sub eax, ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
sbb edx, ecx
movd eax, xmm0
mov dword [esp + 0x10], edx
cdq
mov esi, eax
mov dword [esp + 0x20], edx
movd eax, xmm1
mov ecx, esi
cdq
mov ebx, eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x20]
sub ecx, ebx
sbb eax, edx
cmp dword [esp + 0x10], 0
jl 0x1005b7dd
mov edx, dword [esp + 0x1c]
jg 0x1005b5b0
test edx, edx
je 0x1005b7dd
test eax, eax
jl 0x1005b7dd
jg 0x1005b5c2
test ecx, ecx
je 0x1005b7dd
or dword [esp + 0x10], eax
or ecx, edx
mov eax, ecx
cdq
cmp eax, ecx
jne 0x1005b7dd
cmp edx, dword [esp + 0x10]
jne 0x1005b7dd
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x30]
movaps xmm0, xmmword [0x10386850]
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x88], 0x3f800000
movaps xmm0, xmmword [0x10386850]
movups xmmword [esp + 0x78], xmm0
mov dword [esp + 0x8c], 0x10
movss xmm0, dword [eax + 0x5c]
movss xmm1, dword [eax + 0x30]
movss xmm2, dword [eax + 0x50]
movss xmm3, dword [eax + 0x24]
movss xmm4, dword [eax + 0x34]
movss xmm5, dword [eax + 0x54]
movss xmm6, dword [eax + 0x2c]
movss xmm7, dword [eax + 0x3c]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [eax + 0x20]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x34], xmm1
movss dword [esp + 0x38], xmm2
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x40], xmm4
movss dword [esp + 0x44], xmm5
movss dword [esp + 0x48], xmm6
movss dword [esp + 0x4c], xmm7
movss dword [esp + 0x50], xmm0
mov dword [esp + 0x54], 0x80
call fcn.1003d080
movzx eax, al
mov dword [esp + 0x54], eax
test al, 0xf
jne 0x1005b6a5
lea ecx, [esp + 0x68]
call fcn.1003eef0
jmp 0x1005b6bb
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x34]
call fcn.1003d790
test al, al
je 0x1005b7dd
mov eax, dword [esp + 0x24]
sub ebp, 1
sbb eax, 0
cmp eax, 0xffffffff
jg 0x1005b6db
jl 0x1005b6d4
cmp ebp, 0x80000001
jae 0x1005b6db
mov ebp, 0x80000001
jmp 0x1005b6ee
test eax, eax
jl 0x1005b6ee
jg 0x1005b6e9
cmp ebp, 0x7fffffff
jbe 0x1005b6ee
mov ebp, 0x7fffffff
mov eax, dword [esp + 0x28]
sub ebx, 1
sbb eax, 0
cmp eax, 0xffffffff
jg 0x1005b70e
jl 0x1005b707
cmp ebx, 0x80000001
jae 0x1005b70e
mov ebx, 0x80000001
jmp 0x1005b721
test eax, eax
jl 0x1005b721
jg 0x1005b71c
cmp ebx, 0x7fffffff
jbe 0x1005b721
mov ebx, 0x7fffffff
mov eax, dword [esp + 0x2c]
add edi, 1
adc eax, 0
cmp eax, 0xffffffff
jg 0x1005b741
jl 0x1005b73a
cmp edi, 0x80000001
jae 0x1005b741
mov edi, 0x80000001
jmp 0x1005b754
test eax, eax
jl 0x1005b754
jg 0x1005b74f
cmp edi, 0x7fffffff
jbe 0x1005b754
mov edi, 0x7fffffff
mov eax, dword [esp + 0x20]
add esi, 1
adc eax, 0
cmp eax, 0xffffffff
jg 0x1005b774
jl 0x1005b76d
cmp esi, 0x80000001
jae 0x1005b774
mov esi, 0x80000001
jmp 0x1005b787
test eax, eax
jl 0x1005b787
jg 0x1005b782
cmp esi, 0x7fffffff
jbe 0x1005b787
mov esi, 0x7fffffff
movd xmm0, ebp
lea eax, [esp + 0x58]
cvtdq2ps xmm0, xmm0
push 1
push eax
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x74]
movss dword [esp + 0x64], xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x68], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x6c], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x70], xmm0
call fcn.1003e1c0
movups xmm0, xmmword [esp + 0x90]
jmp 0x1005b7e0
xorps xmm0, xmm0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xa0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
movups xmmword [eax], xmm0
call fcn.1037e005
add esp, 0x94
ret 4