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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0xa4
mov eax, dword [0x103f78b0]
cmp dword [0x101de3d0], 0
jne 0x10028de3
cmp eax, 1
movss xmm0, dword [0x1018da14]
movss xmm2, dword [0x1018da10]
mov ebx, dword [0x103f78c0]
je 0x10028d4f
movaps xmm2, xmm0
test ebx, ebx
jle 0x100294a7
mov edx, dword [0x1053fb84]
xor edi, edi
mov eax, dword [0x1053fb80]
imul edx, eax
movsd xmm6, qword [0x1018d8f0]
movsd xmm5, qword [0x1018d8e0]
movsd xmm4, qword [0x1018d8e8]
movss xmm3, dword [0x1018da24]
mov ecx, dword [0x1053fb64]
mov esi, ecx
movss xmm1, dword [0x1018da28]
sub esi, edx
movss xmm0, dword [0x1018da2c]
mov dword [esp], ecx
mov ecx, dword [edi*4 + 0x10403448]
pxor xmm7, xmm7
imul ecx, eax
inc edi
cvtss2sd xmm7, dword [ecx + esi]
andps xmm7, xmmword [0x1018d8c0]
comisd xmm6, xmm7
jbe 0x10028dc8
movaps xmm2, xmm0
comisd xmm5, xmm7
jbe 0x10028dd1
movaps xmm2, xmm1
comisd xmm4, xmm7
jbe 0x10028dda
movaps xmm2, xmm3
cmp edi, ebx
jb 0x10028da4
jmp 0x10028e90
cmp eax, 1
movss xmm0, dword [0x1018da18]
movss xmm2, dword [0x1018da10]
mov ebx, dword [0x103f78c0]
je 0x10028e01
movaps xmm2, xmm0
test ebx, ebx
jle 0x100294a7
mov edx, dword [0x1053fb84]
xor edi, edi
mov eax, dword [0x1053fb80]
imul edx, eax
movsd xmm6, qword [0x1018d8f0]
movsd xmm5, qword [0x1018d8e0]
movsd xmm4, qword [0x1018d8e8]
movss xmm3, dword [0x1018da24]
mov ecx, dword [0x1053fb64]
mov esi, ecx
movss xmm1, dword [0x1018da28]
sub esi, edx
movss xmm0, dword [0x1018da2c]
mov dword [esp], ecx
mov ecx, dword [edi*4 + 0x10403448]
pxor xmm7, xmm7
imul ecx, eax
inc edi
cvtss2sd xmm7, dword [ecx + esi]
andps xmm7, xmmword [0x1018d8c0]
comisd xmm6, xmm7
jbe 0x10028e7a
movaps xmm2, xmm0
comisd xmm5, xmm7
jbe 0x10028e83
movaps xmm2, xmm1
comisd xmm4, xmm7
jbe 0x10028e8c
movaps xmm2, xmm3
cmp edi, ebx
jb 0x10028e56
mov ecx, dword [esp]
add eax, ecx
mov edi, 1
sub eax, edx
mov edx, dword [ebx*4 + 0x10403444]
mov dword [esp], edx
mov dword [0x1036e770], edx
lea edx, [ebx - 1]
mov dword [0x1036e774], ebx
test edx, edx
mov dword [0x1036e778], 8
mov dword [0x1036e77c], edx
jle 0x100291be
mov dword [esp + 0x18], edx
mov esi, 1
mov dword [esp + 0x44], eax
mov ebx, 0xffffffff
mov ecx, 0x20
mov edx, dword [esi*4 + 0x10403444]
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], edx
movss xmm0, dword [eax + edx*4 - 4]
movaps xmm1, xmm0
andps xmm1, xmmword [0x1018d8b0]
mov eax, dword [eax + edx*4 - 4]
mov dword [esp + 0x10], eax
comiss xmm2, xmm1
ja 0x100296b7
dec ebx
lea edi, [esi + 1]
mov eax, dword [0x103f78c0]
add ecx, 0x20
mov dword [0x1036e780], edi
cmp eax, edi
lea edx, [eax + ebx + 1]
jl 0x100296ac
mov dword [esp + 0x14], 0
lea eax, [esi*4 + 4]
mov dword [esp + 0x40], eax
lea eax, [esi + ebx]
mov dword [esp + 0x38], eax
mov eax, esi
shl eax, 5
mov dword [esp + 0x30], eax
lea eax, [ebx + esi + 1]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
lea eax, [edx + esi + 1]
mov ebx, dword [ecx + edx*4 + 0x10403444]
mov ecx, dword [ecx + edx*4 + 0x10403440]
mov edi, ecx
sub edi, ebx
lea eax, [eax + edi + 1]
cmp eax, esi
jg 0x10029167
mov dword [esp + 0x34], eax
mov eax, edx
add ebx, dword [esp + 0x38]
neg eax
add ebx, eax
mov edi, dword [esp + 0x44]
mov dword [0x1036e784], ebx
movss xmm1, dword [edi + ebx*4 - 4]
lea edi, [edx + esi + 1]
divss xmm1, xmm0
mov ebx, dword [0x103f78c0]
mov eax, ebx
sub eax, edi
inc eax
mov dword [esp + 0x5c], eax
cmp ebx, edi
movss dword [0x1036e788], xmm1
mov dword [esp + 0x60], edi
mov eax, dword [esp + 0x34]
jl 0x100296da
mov edi, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], ebx
xor ebx, ebx
mov dword [esp + 0x24], ebx
lea eax, [edi + edx*4]
mov dword [esp + 0x58], eax
mov eax, edx
neg eax
mov edi, dword [esp + 0x38]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x50], esi
add edi, eax
add eax, edx
add eax, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edi
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x60]
mov eax, dword [eax + esi*4 + 0x10403444]
lea edx, [ebx + eax]
sub edi, edx
lea ecx, [edi + ecx + 1]
mov dword [esp + 0x54], ecx
cmp ecx, dword [esp + 0x50]
jg 0x10029080
mov ecx, dword [esp + 0x48]
lea edi, [ecx + edx]
add edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
mov dword [0x1036e78c], edi
mov dword [0x1036e790], edx
movss xmm3, dword [ecx + edi*4 - 4]
mulss xmm3, xmm1
movss xmm4, dword [ecx + edx*4 - 4]
subss xmm4, xmm3
movss dword [ecx + edx*4 - 4], xmm4
inc esi
dec ebx
mov ecx, eax
cmp esi, dword [esp + 0x5c]
jb 0x10029029
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x1c]
inc ebx
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x50]
mov dword [0x1036e794], ebx
mov dword [0x1036e798], ecx
mov ecx, dword [esp + 0x30]
mov ebx, edx
mov edi, dword [esp + 0x2c]
movaps xmm7, xmm1
shufps xmm7, xmm7, 0
movss xmm3, dword [ecx + 0x104266a8]
shl ebx, 5
mulss xmm3, xmm1
movss xmm4, dword [ebx + edi + 0x104266a8]
movss xmm6, dword [ebx + edi + 0x104266ac]
subss xmm4, xmm3
movss dword [ebx + edi + 0x104266a8], xmm4
movss xmm5, dword [ecx + 0x104266ac]
mulss xmm5, xmm1
movaps xmm3, xmmword [ebx + edi + 0x104266b0]
subss xmm6, xmm5
movss dword [ebx + edi + 0x104266ac], xmm6
mulps xmm7, xmmword [ecx + 0x104266b0]
movss xmm5, dword [ebx + edi + 0x104266c0]
subps xmm3, xmm7
movaps xmmword [ebx + edi + 0x104266b0], xmm3
movss xmm4, dword [ecx + 0x104266c0]
mulss xmm4, xmm1
movss xmm6, dword [ebx + edi + 0x104266c4]
subss xmm5, xmm4
movss dword [ebx + edi + 0x104266c0], xmm5
mulss xmm1, dword [ecx + 0x104266c4]
mov dword [0x1036e79c], 9
subss xmm6, xmm1
movss dword [ebx + edi + 0x104266c4], xmm6
inc edx
cmp edx, dword [esp + 0x3c]
jb 0x10028f71
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
lea edx, [edx + esi + 1]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 4]
mov dword [0x1036e7a0], edx
mov dword [0x1036e7a4], eax
mov esi, edi
cmp edi, dword [esp + 0x18]
jle 0x10028ee4
mov ebx, dword [0x103f78c0]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x44]
mov dword [0x1036e7a8], edx
lea edx, [ebx - 1]
mov dword [0x1036e7ac], ecx
mov edi, ebx
shl edi, 5
mov ecx, dword [esp]
test edx, edx
mov dword [0x1036e7b4], edx
movss xmm6, dword [eax + ecx*4 - 4]
movss xmm0, dword [edi + 0x104266a8]
movaps xmm3, xmm6
movss xmm1, dword [edi + 0x104266ac]
movss xmm5, dword [edi + 0x104266c0]
movss xmm7, dword [edi + 0x104266c4]
divss xmm0, xmm6
divss xmm1, xmm6
divss xmm5, xmm6
divss xmm7, xmm6
shufps xmm3, xmm3, 0
rcpps xmm4, xmm3
mulps xmm3, xmm4
mulps xmm3, xmm4
addps xmm4, xmm4
movss dword [edi + 0x104266a8], xmm0
subps xmm4, xmm3
mulps xmm4, xmmword [edi + 0x104266b0]
movss dword [edi + 0x104266ac], xmm1
movaps xmmword [edi + 0x104266b0], xmm4
movss dword [edi + 0x104266c0], xmm5
movss dword [edi + 0x104266c4], xmm7
jle 0x10029693
xor ecx, ecx
lea esi, [ebx*4]
mov dword [esp + 0x14], esi
lea esi, [ebx + 1]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x44], eax
mov dword [esp], ebx
mov esi, dword [esp + 0x34]
mov edi, ecx
mov edx, ecx
lea eax, [esi - 1]
shl edx, 5
lea ebx, [ecx + 1]
mov dword [esp + 0x30], eax
lea eax, [ecx*4]
neg edx
add ecx, edi
mov dword [esp + 0x10], 0
neg eax
add edx, dword [esp + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc], esi
add eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], edi
mov esi, ecx
neg esi
mov ebx, dword [eax + ecx*4 + 0x10403444]
add esi, ebx
mov edi, dword [eax + ecx*4 + 0x10403440]
sub edi, esi
mov edx, dword [esp + 0x34]
lea edx, [edx + edi + 1]
cmp edx, dword [esp + 0x30]
jg 0x100293b6
mov edi, dword [esp + 0x24]
lea edi, [edi + ebx - 1]
mov ebx, ecx
neg ebx
add edi, ebx
mov ebx, dword [esp + 0x44]
mov dword [0x1036e7b8], edi
movss xmm0, dword [ebx + esi*4 - 8]
mov esi, ecx
shl esi, 5
movaps xmm6, xmm0
mov ebx, dword [esp + 0x28]
shufps xmm6, xmm6, 0
movss xmm1, dword [ebx + esi + 0x104266a8]
mulss xmm1, xmm0
movss xmm3, dword [ebx + 0x10426688]
movss xmm5, dword [ebx + 0x1042668c]
subss xmm3, xmm1
movss dword [ebx + 0x10426688], xmm3
movss xmm4, dword [ebx + esi + 0x104266ac]
mulss xmm4, xmm0
movaps xmm7, xmmword [ebx + 0x10426690]
subss xmm5, xmm4
movss dword [ebx + 0x1042668c], xmm5
mulps xmm6, xmmword [ebx + esi + 0x104266b0]
movss xmm3, dword [ebx + 0x104266a0]
subps xmm7, xmm6
movaps xmmword [ebx + 0x10426690], xmm7
movss xmm1, dword [ebx + esi + 0x104266c0]
mulss xmm1, xmm0
movss xmm4, dword [ebx + 0x104266a4]
subss xmm3, xmm1
movss dword [ebx + 0x104266a0], xmm3
mulss xmm0, dword [ebx + esi + 0x104266c4]
subss xmm4, xmm0
movss dword [ebx + 0x104266a4], xmm4
inc ecx
cmp ecx, dword [esp + 0x2c]
jb 0x100292c7
mov eax, dword [eax + 0x10403440]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
movss xmm6, dword [ecx + eax*4 - 4]
movss xmm0, dword [edx + 0x10426688]
movaps xmm3, xmm6
movss xmm1, dword [edx + 0x1042668c]
divss xmm0, xmm6
divss xmm1, xmm6
shufps xmm3, xmm3, 0
rcpps xmm4, xmm3
mulps xmm3, xmm4
mulps xmm3, xmm4
addps xmm4, xmm4
movss dword [edx + 0x10426688], xmm0
subps xmm4, xmm3
movss dword [edx + 0x1042668c], xmm1
mulps xmm4, xmmword [edx + 0x10426690]
movaps xmmword [edx + 0x10426690], xmm4
movss xmm5, dword [edx + 0x104266a0]
movss xmm7, dword [edx + 0x104266a4]
divss xmm5, xmm6
divss xmm7, xmm6
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
dec esi
dec edi
movss dword [edx + 0x104266a0], xmm5
movss dword [edx + 0x104266a4], xmm7
cmp ebx, dword [esp + 0x18]
jb 0x1002927f
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 4]
mov ebx, dword [esp]
mov dword [0x1036e7bc], edx
mov dword [0x1036e7c0], ecx
mov dword [0x1036e7c4], edi
mov dword [0x1036e79c], 9
mov dword [0x1036e7a0], esi
mov dword [0x1036e7b0], ebx
mov dword [0x1036e78c], eax
pxor xmm0, xmm0
comiss xmm0, xmm2
ja 0x100294bf
add esp, 0xa4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
movss xmm0, dword [0x1018da30]
andps xmm0, xmm2
pxor xmm2, xmm0
movss xmm1, dword [0x1018da34]
movaps xmm3, xmm2
movaps xmm7, xmm2
cmpltss xmm3, xmm1
andps xmm3, xmm1
mov eax, dword [ebp + 8]
addss xmm7, xmm3
mov edx, dword [eax]
subss xmm7, xmm3
movaps xmm6, xmm7
mov dword [0x1036e680], 1
subss xmm6, xmm2
movss xmm2, dword [0x1018da38]
movaps xmm4, xmm6
movaps xmm5, xmm2
cmpnless xmm4, xmm2
addss xmm5, xmm2
cmpless xmm6, dword [0x1018da3c]
andps xmm4, xmm5
andps xmm6, xmm5
subss xmm7, xmm4
addss xmm7, xmm6
orps xmm7, xmm0
cvtss2si ecx, xmm7
neg ecx
test edx, edx
jle 0x1002955b
mov eax, 1
mov ebx, dword [eax*4 + 0x103f78c0]
test ebx, ebx
je 0x10029556
cmp ebx, ecx
jg 0x1002955b
mov dword [0x1036e680], eax
inc eax
cmp eax, edx
jle 0x10029542
mov edi, 1
xor ebx, ebx
mov eax, 0xa
lea edx, [esp + 0x90]
mov byte [esp + 0x8c], al
lea esi, [esp + 0x8c]
mov byte [esp + 0x90], al
mov dword [esp + 0x30], edx
lea eax, [esp + 0x94]
mov dword [esp], 0x1018d9b4
mov dword [esp + 8], 0x22
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], 0x1018d9d8
mov dword [esp + 0x28], 0x17
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], edi
lea ecx, [esp]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 0x1018d9f0
mov dword [esp + 0x48], 0x1b
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x94], bl
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], ebx
push ebx
push 0x80
push 0x1036e600
push ebx
push 6
push ecx
call fcn.10142f00
mov eax, dword [0x1036e680]
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], 0
lea edx, [esp + 0x98]
mov dword [esp + 0x98], 4
mov dword [esp + 0x9c], 0x1036e606
mov dword [esp + 0xa0], eax
push 0x20
push 0x101de3a8
push edx
push 0x1018d898
push 0x8384ff00
push ecx
call fcn.10143be0
add esp, 0x30
push 0x80
push 0x1036e600
call fcn.1000a560
push 0x1036e680
call fcn.1002b9a0
push 0x20
push ebx
push ebx
push 0x8384ff00
push ebx
push 0x1018da0c
call fcn.10143170
add esp, 0xbc
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
mov dword [0x1036e79c], 9
mov dword [0x1036e7b0], 1
jmp 0x100294a7
mov dword [0x1036e7a0], edi
jmp 0x10029191
mov edx, eax
neg esi
mov ecx, dword [esp + 0xc]
mov dword [0x1036e7a8], edx
mov dword [0x1036e7ac], ecx
mov dword [0x1036e7b0], edi
cvtsi2ss xmm2, esi
jmp 0x100294a7
mov ecx, edi
mov dword [0x1036e794], ecx
jmp 0x100290ab