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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x38
push esi
mov esi, ecx
push edi
mov dword [esp + 0x14], esi
cmp dword [esi + 0x84], 0
jne 0x5a3494
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
movss xmm4, dword [ebp + 8]
xorps xmm5, xmm5
movss xmm3, dword [ebp + 0xc]
movaps xmm0, xmm4
mulss xmm0, dword [0x605368]
mov eax, dword [esi + 0x94]
cdq
sub eax, edx
movss dword [esi + 0x74], xmm4
cvttss2si ecx, xmm0
mov edx, eax
mov dword [esi + 0x78], 0
sar edx, 1
mov edi, edx
neg edx
neg edi
movaps xmm0, xmm3
movss dword [esi + 0x7c], xmm3
mulss xmm0, dword [0x605368]
sub edi, ecx
mov dword [esp + 0x1c], edi
cvttss2si eax, xmm0
lea ecx, [edi + 1]
sub edx, eax
comiss xmm5, xmm4
mov dword [esp + 0x20], edx
jbe 0x5a3520
movd xmm2, ecx
movaps xmm0, xmm4
movd xmm1, edi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
addss xmm2, xmm2
addss xmm1, xmm1
subss xmm2, xmm4
subss xmm0, xmm1
comiss xmm2, xmm0
jbe 0x5a3520
dec edi
jmp 0x5a354f
comiss xmm4, xmm5
jbe 0x5a3553
lea eax, [edi + 2]
movd xmm1, ecx
movd xmm2, eax
movaps xmm0, xmm4
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
addss xmm2, xmm2
addss xmm1, xmm1
subss xmm2, xmm4
subss xmm0, xmm1
comiss xmm0, xmm2
cmova edi, ecx
mov dword [esp + 0x1c], edi
comiss xmm5, xmm3
jbe 0x5a3586
lea eax, [edx + 1]
movd xmm1, edx
movd xmm2, eax
movaps xmm0, xmm3
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
addss xmm2, xmm2
addss xmm1, xmm1
subss xmm2, xmm3
subss xmm0, xmm1
comiss xmm2, xmm0
jbe 0x5a3586
dec edx
mov dword [esp + 0x20], edx
comiss xmm3, xmm5
jbe 0x5a35bc
lea ecx, [edx + 1]
movaps xmm0, xmm3
lea eax, [edx + 2]
movd xmm1, ecx
movd xmm2, eax
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
addss xmm2, xmm2
addss xmm1, xmm1
subss xmm2, xmm3
subss xmm0, xmm1
comiss xmm0, xmm2
cmova edx, ecx
mov dword [esp + 0x20], edx
mov eax, dword [0x9c25b0]
mov ecx, dword [esi + 0x94]
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0x40]
mov dword [esp + 0x34], eax
lea edi, [ecx + 1]
test eax, eax
je 0x5a3aa0
xor edx, edx
mov dword [esp + 0x10], edx
test edi, edi
jle 0x5a3cd8
movss xmm2, dword [0x6057d0]
mov dword [esp + 0x2c], 0x3f
nop dword [eax + eax]
xor edi, edi
mov dword [esp + 0x30], ecx
lea eax, [ecx + 1]
mov dword [esp + 0x28], edi
test eax, eax
jle 0x5a3a7f
mov eax, dword [esp + 0x20]
add eax, edx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm1
movss dword [esp + 0x3c], xmm1
nop dword [eax]
mov eax, dword [esp + 0x1c]
add eax, edi
movd xmm0, eax
lea eax, [ecx + 1]
imul eax, edx
cvtdq2ps xmm0, xmm0
add eax, edi
addss xmm0, xmm0
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x84]
movss dword [eax + ecx*8], xmm0
mov eax, dword [esi + 0x94]
inc eax
imul eax, edx
add eax, edi
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x84]
movss dword [eax + ecx*8 + 8], xmm1
mov ecx, dword [esi + 0x94]
mov esi, dword [esi + 0x84]
movss xmm1, dword [ebp + 8]
lea eax, [ecx + 1]
movd xmm0, ecx
imul eax, edx
cvtdq2ps xmm0, xmm0
add eax, edi
addss xmm0, xmm0
lea edi, [eax + eax*2]
mov eax, dword [esp + 0x14]
subss xmm1, dword [esi + edi*8]
divss xmm1, xmm0
movss dword [esp + 0x24], xmm1
movss xmm1, dword [ebp + 0xc]
subss xmm1, dword [esi + edi*8 + 8]
xorps xmm1, xmm2
divss xmm1, xmm0
movss xmm0, dword [eax + 0x98]
cvtps2pd xmm0, xmm0
movss dword [esp + 0x18], xmm1
call fcn.005bddf0
mov eax, dword [esp + 0x14]
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x6057d0]
mulss xmm0, dword [esp + 0x24]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [eax + 0x98]
cvtps2pd xmm0, xmm0
call fcn.005bee00
movss xmm1, dword [esp + 0x30]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0x18]
subss xmm1, xmm0
subss xmm1, dword [0x604d2c]
movss dword [esi + edi*8 + 0x10], xmm1
mov esi, dword [esp + 0x14]
movss xmm0, dword [esi + 0x98]
cvtps2pd xmm0, xmm0
call fcn.005bee00
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0x24]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esi + 0x98]
cvtps2pd xmm0, xmm0
call fcn.005bddf0
mov eax, dword [esi + 0x94]
mov edx, dword [esp + 0x10]
inc eax
movss xmm1, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
cvtsd2ss xmm0, xmm0
imul eax, edx
mulss xmm0, dword [esp + 0x18]
add eax, edi
subss xmm1, xmm0
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x84]
subss xmm1, dword [0x604d2c]
movss dword [eax + ecx*8 + 0x14], xmm1
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x20a20]
shl eax, 6
mov dword [esp + 0x18], edi
sub dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
add dword [esp + 0x18], eax
mov eax, dword [ecx + 0x20a24]
shl eax, 6
sub edx, eax
mov eax, dword [esp + 0x18]
add edx, dword [esp + 0x20]
cmp eax, 0x40
cmove eax, dword [esp + 0x2c]
cmp edx, 0x40
mov dword [esp + 0x18], eax
cmove edx, dword [esp + 0x2c]
mov dword [esp + 0x24], edx
cmp eax, 0x3f
ja 0x5a394e
cmp edx, 0x3f
ja 0x5a394e
mov eax, dword [ecx + 0x20a24]
mov esi, dword [ecx + 0x20a20]
movss xmm1, dword [ebp + 0xc]
shl eax, 7
shl esi, 7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm1
movss xmm1, dword [ebp + 8]
subss xmm1, xmm0
shl eax, 7
mov dword [esp + 0x30], eax
cvttss2si esi, xmm1
add eax, esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x38], eax
movsx eax, byte [eax + ecx + 0xc0cc]
cmp eax, 0xb
jl 0x5a38da
mov edx, dword [esp + 0x38]
mov dl, byte [edx + ecx + 0xc14c]
mov byte [esp + 0xf], dl
cmp dl, 0xa
mov edx, dword [esp + 0x24]
jge 0x5a3869
movsx eax, byte [esp + 0xf]
jmp 0x5a38da
mov edi, dword [esp + 0x30]
cvttss2si edx, xmm1
add edi, edx
mov dword [esp + 0x30], edi
mov dl, byte [edi + ecx + 0xc04c]
mov edi, dword [esp + 0x28]
cmp dl, 0xa
mov byte [esp + 0xf], dl
mov edx, dword [esp + 0x24]
jge 0x5a3896
movsx eax, byte [esp + 0xf]
jmp 0x5a38da
mov esi, dword [esp + 0x30]
mov dl, byte [esi + ecx + 0xc0cd]
mov esi, dword [esp + 0x14]
cmp dl, 0xa
mov byte [esp + 0xf], dl
mov edx, dword [esp + 0x24]
jge 0x5a38b9
movsx eax, byte [esp + 0xf]
jmp 0x5a38da
mov edi, dword [esp + 0x30]
mov dl, byte [edi + ecx + 0xc0cb]
mov edi, dword [esp + 0x28]
cmp dl, 0xa
mov byte [esp + 0xf], dl
mov edx, dword [esp + 0x24]
jge 0x5a38da
movsx eax, byte [esp + 0xf]
movss xmm3, dword [0x604ccc]
movd xmm1, eax
shl edx, 6
add edx, dword [esp + 0x18]
cvtdq2ps xmm1, xmm1
lea eax, [edx + edx*2]
movsx eax, byte [ecx + eax*4 + 0xcc]
mov ecx, dword [esi + 0x84]
mulss xmm1, xmm3
movd xmm2, eax
mov eax, dword [esi + 0x94]
inc eax
movaps xmm0, xmm1
imul eax, dword [esp + 0x10]
cvtdq2ps xmm2, xmm2
add eax, edi
mulss xmm2, xmm3
lea eax, [eax + eax*2]
lea eax, [eax*8 + 4]
subss xmm0, xmm2
add eax, ecx
comiss xmm0, dword [0x604d00]
jae 0x5a393d
movaps xmm1, xmm2
addss xmm1, dword [0x604cb8]
movss dword [eax], xmm1
jmp 0x5a3a03
mov edx, dword [ecx + 0xac]
test edx, edx
jne 0x5a397a
mov edx, dword [ecx + 0xb0]
test edx, edx
jne 0x5a397a
mov edx, dword [ecx + 0xb4]
test edx, edx
jne 0x5a397a
mov edx, dword [ecx + 0xb8]
test edx, edx
je 0x5a39fb
mov ecx, dword [edx + 0x20a20]
mov eax, edi
shl ecx, 6
sub eax, ecx
mov ecx, dword [edx + 0x20a24]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
shl ecx, 6
sub eax, ecx
mov ecx, dword [esp + 0x38]
add eax, dword [esp + 0x20]
cmp ecx, 0x3f
ja 0x5a39fb
movss xmm3, dword [0x604ccc]
cmp eax, 0x3f
ja 0x5a3a03
shl eax, 6
add ecx, 0x11
add eax, ecx
lea eax, [eax + eax*2]
movsx eax, byte [edx + eax*4]
mov edx, dword [esp + 0x10]
movd xmm0, eax
mov eax, dword [esi + 0x94]
inc eax
cvtdq2ps xmm0, xmm0
imul eax, edx
mulss xmm0, xmm3
addss xmm0, dword [0x604cb8]
add eax, edi
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x84]
movss dword [eax + ecx*8 + 4], xmm0
jmp 0x5a3a07
movss xmm3, dword [0x604ccc]
mov edx, dword [esp + 0x10]
mov eax, dword [0x9c25b0]
cmp dword [eax + 0x24], 0x7531
jne 0x5a3a57
cmp dword [esi + 0x6c], 1
jne 0x5a3a57
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x84]
inc eax
movss xmm1, dword [0x605030]
imul eax, edx
add eax, edi
lea eax, [eax + eax*2]
movss xmm0, dword [ecx + eax*8 + 4]
comiss xmm1, xmm0
jb 0x5a3a4f
addss xmm0, xmm3
movss dword [ecx + eax*8 + 4], xmm0
jmp 0x5a3a57
mov dword [ecx + eax*8 + 4], 0x3f000000
mov eax, dword [esi + 0x94]
inc edi
movss xmm1, dword [esp + 0x3c]
mov ecx, eax
movss xmm2, dword [0x6057d0]
mov dword [esp + 0x30], eax
inc eax
mov dword [esp + 0x28], edi
cmp edi, eax
jl 0x5a3630
mov eax, dword [esp + 0x30]
inc edx
mov ecx, eax
mov dword [esp + 0x10], edx
inc eax
cmp edx, eax
jl 0x5a3600
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
mov dword [esp + 0x18], 0
test edi, edi
jle 0x5a3cd8
mov dword [esp + 0x2c], 0x3f
nop dword [eax + eax]
mov edi, dword [esp + 0x28]
xor edx, edx
mov dword [esp + 0x10], edx
lea eax, [edi + 1]
test eax, eax
jle 0x5a3cc0
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm1
movss dword [esp + 0x38], xmm1
mov eax, dword [esp + 0x1c]
add eax, edx
movd xmm0, eax
lea eax, [edi + 1]
mov edi, dword [esp + 0x18]
imul eax, edi
cvtdq2ps xmm0, xmm0
add eax, edx
addss xmm0, xmm0
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x84]
movss dword [eax + ecx*8], xmm0
mov eax, dword [esi + 0x94]
inc eax
imul eax, edi
add eax, edx
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x84]
movss dword [eax + ecx*8 + 8], xmm1
mov ecx, dword [esi + 0x94]
mov esi, dword [esi + 0x84]
movss xmm1, dword [ebp + 8]
lea eax, [ecx + 1]
movd xmm0, ecx
imul eax, edi
cvtdq2ps xmm0, xmm0
add eax, edx
addss xmm0, xmm0
lea edi, [eax + eax*2]
mov eax, dword [esp + 0x14]
subss xmm1, dword [esi + edi*8]
divss xmm1, xmm0
movss dword [esp + 0x30], xmm1
movss xmm1, dword [ebp + 0xc]
subss xmm1, dword [esi + edi*8 + 8]
xorps xmm1, xmmword [0x6057d0]
divss xmm1, xmm0
movss xmm0, dword [eax + 0x98]
cvtps2pd xmm0, xmm0
movss dword [esp + 0x28], xmm1
call fcn.005bddf0
mov eax, dword [esp + 0x14]
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x6057d0]
mulss xmm0, dword [esp + 0x30]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [eax + 0x98]
cvtps2pd xmm0, xmm0
call fcn.005bee00
movss xmm1, dword [esp + 0x3c]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0x28]
subss xmm1, xmm0
subss xmm1, dword [0x604d2c]
movss dword [esi + edi*8 + 0x10], xmm1
mov esi, dword [esp + 0x14]
movss xmm0, dword [esi + 0x98]
cvtps2pd xmm0, xmm0
call fcn.005bee00
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0x30]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esi + 0x98]
cvtps2pd xmm0, xmm0
call fcn.005bddf0
mov eax, dword [esi + 0x94]
mov edi, dword [esp + 0x18]
inc eax
movss xmm1, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
cvtsd2ss xmm0, xmm0
imul eax, edi
mulss xmm0, dword [esp + 0x28]
add eax, edx
subss xmm1, xmm0
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x84]
subss xmm1, dword [0x604d2c]
movss dword [eax + ecx*8 + 0x14], xmm1
mov eax, dword [esp + 0x1c]
add eax, edx
cmp eax, 0x40
mov ecx, 0x3f
cmove eax, ecx
mov ecx, dword [esp + 0x24]
cmp ecx, 0x40
cmove ecx, dword [esp + 0x2c]
cmp eax, 0x3f
ja 0x5a3ca2
cmp ecx, 0x3f
ja 0x5a3ca2
mov eax, dword [esi + 0x94]
inc eax
imul eax, edi
add eax, edx
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x84]
mov dword [eax + ecx*8 + 4], 0x3d4ccccd
mov ecx, dword [esi + 0x94]
inc edx
movss xmm1, dword [esp + 0x38]
mov edi, ecx
mov dword [esp + 0x10], edx
lea eax, [ecx + 1]
cmp edx, eax
jl 0x5a3af2
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
inc edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], edx
cmp edx, eax
jl 0x5a3ac0
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret 8