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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push esi
mov esi, ecx
push edi
cmp byte [esi + 0x1f], 0
je 0x4a1e38
mov edi, dword [esi + 8]
mov eax, edi
sub eax, 2
je 0x4a1e1b
sub eax, 2
je 0x4a1e06
cmp dword [esi + 0x24], 0
jl 0x4a1f2c
movss xmm4, dword [esi + 0x34]
movss xmm2, dword [esi + 0x38]
movaps xmm3, xmm4
movss xmm7, dword [esi + 0x60]
movaps xmm1, xmm2
comiss xmm4, xmm7
movss xmm6, dword [esi + 0x64]
subss xmm3, xmm7
movss xmm5, dword [0x5db608]
subss xmm1, xmm6
andps xmm3, xmmword [0x5d99e0]
andps xmm1, xmmword [0x5d99e0]
jbe 0x4a1ce4
movaps xmm0, xmm3
divss xmm0, xmm5
subss xmm4, xmm0
movss dword [esi + 0x34], xmm4
jmp 0x4a1cf9
comiss xmm7, xmm4
jbe 0x4a1cf9
movaps xmm0, xmm3
divss xmm0, xmm5
addss xmm0, xmm4
movss dword [esi + 0x34], xmm0
comiss xmm2, xmm6
jbe 0x4a1d10
movaps xmm0, xmm1
divss xmm0, xmm5
subss xmm2, xmm0
movss dword [esi + 0x38], xmm2
jmp 0x4a1d25
comiss xmm6, xmm2
jbe 0x4a1d25
movaps xmm0, xmm1
divss xmm0, xmm5
addss xmm0, xmm2
movss dword [esi + 0x38], xmm0
mulss xmm1, xmm1
mulss xmm3, xmm3
addss xmm1, xmm3
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x4a1d43
sqrtsd xmm0, xmm0
jmp 0x4a1d48
call fcn.005aed10
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss xmm0, dword [0x5d9838]
movaps xmm1, xmm2
movss dword [esi + 0x70], xmm2
mulss xmm1, dword [0x5db600]
comiss xmm0, xmm1
jae 0x4a1d78
movss xmm0, dword [0x5d9834]
minss xmm0, xmm1
mulss xmm0, dword [esi + 0x58]
movss dword [esi + 0x54], xmm0
movss xmm0, dword [0x5da768]
comiss xmm0, xmm2
jbe 0x4a1f2c
sub edi, 0
je 0x4a1da5
sub edi, 1
jne 0x4a1dd3
push dword [esi + 0x78]
mov ecx, dword [esi + 4]
jmp 0x4a1dce
mov ecx, dword [esi + 4]
movzx edx, word [ecx + 0x2be]
cmp dx, 5
jne 0x4a1dbc
mov eax, 0x23
jmp 0x4a1dcd
cmp dx, 6
mov eax, 0x19
mov edi, 0x32
cmove eax, edi
push eax
call fcn.0048e0c0
lea eax, [esi + 0x6c]
mov byte [esi + 0x1c], 1
push eax
call fcn.00401970
add esp, 4
cmp dword [esi + 8], 4
jne 0x4a1f2c
mov ecx, dword [esi + 0x80]
test ecx, ecx
je 0x4a1f2c
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x68]
test eax, eax
js 0x4a1f2c
inc eax
mov dword [esi + 0x68], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x24], 0x12c
jne 0x4a1f2c
mov ecx, dword [esi + 4]
push 1
call fcn.0048fad0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x50]
xorps xmm1, xmm1
test eax, eax
jle 0x4a1e66
add eax, 0xffffffff
mov dword [esi + 0x50], eax
jne 0x4a1e66
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 0
cmp byte [esi + 0x4c], 0
movss xmm3, dword [esi + 0x3c]
movss xmm2, dword [esi + 0x40]
movaps xmm0, xmm3
addss xmm0, dword [esi + 0x34]
movss dword [esi + 0x34], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x38]
movss dword [esi + 0x38], xmm0
movaps xmm0, xmm3
addss xmm0, dword [esi + 0x44]
movss dword [esi + 0x3c], xmm0
je 0x4a1ebf
xor ecx, ecx
comiss xmm3, xmm1
seta cl
xor eax, eax
comiss xmm0, xmm1
seta al
cmp ecx, eax
je 0x4a1ebf
mov dword [esi + 0x44], 0
mov dword [esi + 0x3c], 0
cmp byte [esi + 0x4d], 0
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x48]
movss dword [esi + 0x40], xmm0
je 0x4a1ef4
xor ecx, ecx
comiss xmm2, xmm1
seta cl
xor eax, eax
comiss xmm0, xmm1
seta al
cmp ecx, eax
je 0x4a1ef4
mov dword [esi + 0x48], 0
mov dword [esi + 0x40], 0
movss xmm1, dword [esi + 0x58]
movss xmm0, dword [esi + 0x54]
comiss xmm1, xmm0
jbe 0x4a1f10
addss xmm0, dword [0x5d9830]
comiss xmm0, xmm1
jmp 0x4a1f20
comiss xmm0, xmm1
jbe 0x4a1f2c
subss xmm0, dword [0x5d9830]
comiss xmm1, xmm0
movss dword [esi + 0x54], xmm0
jbe 0x4a1f2c
movss dword [esi + 0x54], xmm1
pop edi
pop esi
mov esp, ebp
pop ebp
ret