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

Disassembly:
push 0xffffffffffffffff
push 0x10082139
mov eax, dword fs:[0]
push eax
sub esp, 0x228
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1009fc80]
xor eax, esp
push eax
lea eax, [esp + 0x23c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x258]
add eax, 3
cdq
and edx, 3
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x254]
xor ecx, ecx
mov dword [esp + 0x6c], ecx
mov esi, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, 0x38e38e39
imul edx
sar ebp, 2
mov ebx, ebp
imul ebx, ebp
sar edx, 3
mov edi, edx
shr edi, 0x1f
mov eax, esi
mov dword [esp + 0x194], ebp
imul eax, ebx
mov dword [esp + 0x98], ebx
add edi, edx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ecx
mov dword [esp + 0x244], ecx
cmp eax, ecx
je 0x1002db3f
cmp eax, 0x38e38e3
setg cl
test cl, cl
je 0x1002db3f
call fcn.100313a0
push 0x24
push eax
lea eax, [eax + eax*8]
add eax, eax
add eax, eax
push eax
lea ecx, [esp + 0xb0]
call fcn.10031af0
xorps xmm0, xmm0
xor ecx, ecx
xor eax, eax
cmp ebx, ecx
mov dword [esp + 0x244], 1
mov dword [esp + 0x38], eax
jle 0x1002ddc2
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xac]
imul ecx, ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x250]
jmp 0x1002db9a
mov ebp, dword [esp + 0x194]
cdq
idiv ebp
xor ebp, ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
jmp 0x1002dbb0
mov eax, 0x2aaaaaab
imul ebp
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x3c], edx
mov edx, ebp
mov ebp, dword [esp + 0x3c]
sub edx, ebp
mov ebp, dword [esp + 0x68]
lea eax, [eax + ebp*4 - 1]
mov ebp, dword [esp + 0x64]
lea edx, [edx + ebp*4 - 1]
test eax, eax
jl 0x1002dd61
mov ebp, dword [esp + 0x258]
cmp eax, ebp
jge 0x1002dd61
test edx, edx
jl 0x1002dd61
cmp edx, ebp
jge 0x1002dd61
imul eax, ebp
add eax, edx
mov dword [esp + 0x14], eax
xor eax, eax
cmp esi, 4
jl 0x1002dd08
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x30]
shl edx, 4
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x58]
add edx, ebp
mov ebp, dword [esp + 0xa4]
lea edx, [ebp + edx*4]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x38]
lea edx, [edx + ebx*2]
add edx, ebx
imul edx, dword [esp + 0xac]
add edx, dword [esp + 0x30]
lea edx, [ebp + edx*4]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x38]
lea edx, [edx + ebx*2]
imul edx, dword [esp + 0xac]
add edx, dword [esp + 0x30]
lea edx, [ebp + edx*4]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x5c]
add edx, ebp
mov ebp, dword [esp + 0xa4]
lea edx, [ebp + edx*4]
mov dword [esp + 0x4c], edx
nop
mov edx, dword [ecx + 8]
imul edx, dword [esp + 0x14]
mov ebp, dword [ecx]
add edx, eax
fld dword [ebp + edx*4]
mov edx, dword [esp + 0x2c]
fstp dword [edx]
mov edx, dword [ecx + 8]
imul edx, dword [esp + 0x14]
mov ebp, dword [ecx]
add edx, eax
fld dword [ebp + edx*4 + 4]
mov edx, dword [esp + 0x4c]
fstp dword [edx]
mov edx, dword [ecx + 8]
imul edx, dword [esp + 0x14]
mov ebp, dword [ecx]
add edx, eax
fld dword [ebp + edx*4 + 8]
mov edx, dword [esp + 0x48]
fstp dword [edx]
mov edx, dword [ecx + 8]
imul edx, dword [esp + 0x14]
mov ebp, dword [ecx]
add edx, eax
lea edx, [ebp + edx*4 + 0xc]
add eax, 4
fld dword [edx]
mov edx, dword [esp + 0x54]
fstp dword [edx]
mov edx, dword [esp + 0x3c]
add dword [esp + 0x2c], edx
add dword [esp + 0x4c], edx
add dword [esp + 0x48], edx
add dword [esp + 0x54], edx
lea edx, [esi - 3]
cmp eax, edx
jl 0x1002dc90
cmp eax, esi
jge 0x1002dd8e
mov ebp, dword [esp + 0xa4]
mov edx, eax
imul edx, ebx
add edx, dword [esp + 0x38]
imul edx, dword [esp + 0xac]
add edx, dword [esp + 0x30]
lea edx, [ebp + edx*4]
mov dword [esp + 0x40], edx
mov edx, dword [ecx + 8]
imul edx, dword [esp + 0x14]
mov ebp, dword [ecx]
add edx, eax
lea edx, [ebp + edx*4]
mov ebp, dword [esp + 0x44]
add ebp, ebp
fld dword [edx]
mov edx, dword [esp + 0x40]
add ebp, ebp
inc eax
fstp dword [edx]
add edx, ebp
cmp eax, esi
mov dword [esp + 0x40], edx
jl 0x1002dd34
jmp 0x1002dd8e
test esi, esi
jle 0x1002dd8e
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
add ebp, ebp
add ebp, ebp
add eax, edx
mov edx, dword [esp + 0xa4]
lea eax, [edx + eax*4]
mov edx, esi
movss dword [eax], xmm0
add eax, ebp
sub edx, 1
jne 0x1002dd83
mov ebp, dword [esp + 0x30]
inc ebp
cmp ebp, 0x24
mov dword [esp + 0x30], ebp
jl 0x1002dbb0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0xac]
add dword [esp + 0x5c], edx
add dword [esp + 0x58], edx
inc eax
cmp eax, ebx
mov dword [esp + 0x38], eax
jl 0x1002db93
xor ecx, ecx
lea ebp, [esi + esi*8]
add ebp, ebp
add ebp, ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov byte [esp + 0x244], 2
cmp ebp, ecx
je 0x1002de15
cmp ebx, ecx
je 0x1002de15
mov eax, 0x7fffffff
cdq
idiv ebx
cmp ebp, eax
setg al
test al, al
je 0x1002ddfb
call fcn.100313a0
cmp ebx, ecx
je 0x1002de15
mov eax, 0x7fffffff
cdq
idiv ebx
cmp ebp, eax
setg al
test al, al
je 0x1002de15
call fcn.100313a0
mov eax, ebp
imul eax, ebx
mov dword [esp + 0x3c], eax
cmp eax, ecx
je 0x1002de61
push ecx
call fcn.100671c0
mov eax, dword [esp + 0x40]
add esp, 4
cmp eax, 0x3fffffff
jbe 0x1002de3b
call fcn.100313a0
add eax, eax
add eax, eax
push 0x10
push eax
mov dword [esp + 0x44], eax
call fcn.100671da
add esp, 8
test eax, eax
jne 0x1002de5d
cmp dword [esp + 0x3c], eax
je 0x1002de5d
call fcn.100313a0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ebp
mov ebp, ebx
mov dword [esp + 0x24], ebp
movss xmm0, dword [0x100867f0]
movss xmm2, dword [0x100867ec]
xor edx, edx
test esi, esi
jle 0x1002f03c
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa4]
imul ecx, ebx
movss xmm1, dword [0x100867e8]
add ecx, ecx
add ecx, ecx
add eax, 8
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x40], eax
lea ecx, [ecx]
xor eax, eax
test ebx, ebx
jle 0x1002f02f
lea ecx, [edx + esi*2]
add ecx, esi
mov dword [esp + 0x1c8], ecx
lea ecx, [edx + esi*4]
add ecx, esi
mov dword [esp + 0x1bc], ecx
lea ecx, [esi + esi*2]
lea ecx, [edx + ecx*2]
mov dword [esp + 0xdc], ecx
lea ecx, [esi*8]
sub ecx, esi
add ecx, edx
mov dword [esp + 0x134], ecx
lea ecx, [edx + esi*8]
add ecx, esi
mov dword [esp + 0xe4], ecx
lea ecx, [esi + esi*4]
lea ecx, [edx + ecx*2]
mov dword [esp + 0x17c], ecx
mov ecx, esi
imul ecx, ecx, 0xb
add ecx, edx
mov dword [esp + 0xec], ecx
lea ecx, [esi + esi*2]
lea ecx, [edx + ecx*4]
mov dword [esp + 0xfc], ecx
mov ecx, esi
imul ecx, ecx, 0xd
add ecx, edx
mov dword [esp + 0x104], ecx
lea ecx, [esi*8]
sub ecx, esi
lea ecx, [edx + ecx*2]
mov dword [esp + 0x18c], ecx
mov ecx, esi
shl ecx, 4
sub ecx, esi
add ecx, edx
mov dword [esp + 0x10c], ecx
mov ecx, esi
shl ecx, 4
add ecx, edx
mov dword [esp + 0x14c], ecx
mov ecx, esi
shl ecx, 4
add ecx, edx
add ecx, esi
mov dword [esp + 0x114], ecx
lea ecx, [esi + esi*8]
lea ecx, [edx + ecx*2]
mov dword [esp + 0x11c], ecx
mov ecx, esi
imul ecx, ecx, 0x13
add ecx, edx
mov dword [esp + 0x154], ecx
lea ecx, [esi + esi*4]
lea ecx, [edx + ecx*4]
mov dword [esp + 0x124], ecx
mov ecx, esi
imul ecx, ecx, 0x15
add ecx, edx
mov dword [esp + 0x184], ecx
mov ecx, esi
imul ecx, ecx, 0x16
add ecx, edx
mov dword [esp + 0x12c], ecx
mov ecx, esi
imul ecx, ecx, 0x17
add ecx, edx
mov dword [esp + 0xd4], ecx
lea ecx, [esi + esi*2]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x108], ecx
mov ecx, esi
imul ecx, ecx, 0x19
add ecx, edx
mov dword [esp + 0x110], ecx
mov ecx, esi
imul ecx, ecx, 0x1a
add ecx, edx
mov dword [esp + 0x118], ecx
mov ecx, esi
imul ecx, ecx, 0x1b
add ecx, edx
mov dword [esp + 0x120], ecx
lea ecx, [esi*8]
sub ecx, esi
lea ecx, [edx + ecx*4]
mov dword [esp + 0x128], ecx
mov ecx, esi
imul ecx, ecx, 0x1d
add ecx, edx
mov dword [esp + 0x130], ecx
mov ecx, esi
shl ecx, 4
sub ecx, esi
lea ecx, [edx + ecx*2]
mov dword [esp + 0x178], ecx
mov ecx, esi
shl ecx, 5
sub ecx, esi
add ecx, edx
mov dword [esp + 0x180], ecx
mov ecx, esi
shl ecx, 5
add ecx, edx
mov dword [esp + 0x188], ecx
mov ecx, esi
shl ecx, 5
add ecx, edx
add ecx, esi
mov dword [esp + 0x190], ecx
mov ecx, esi
shl ecx, 4
add ecx, esi
lea ecx, [edx + ecx*2]
mov dword [esp + 0xb4], ecx
mov ecx, esi
imul ecx, ecx, 0x23
add ecx, edx
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x40]
movss xmm7, dword [ecx + 0x10]
movss dword [esp + 0x1a8], xmm7
movss xmm7, dword [ecx + 0x14]
movss dword [esp + 0x198], xmm7
movss xmm7, dword [ecx + 0x18]
movss dword [esp + 0x1b0], xmm7
movss xmm7, dword [ecx + 0x1c]
movss dword [esp + 0x1b8], xmm7
movss xmm7, dword [ecx + 0x20]
movss dword [esp + 0x1ac], xmm7
movss xmm7, dword [ecx + 0x24]
movss dword [esp + 0x1a4], xmm7
movss xmm7, dword [ecx + 0x28]
movss dword [esp + 0x78], xmm7
movss xmm7, dword [ecx + 0x2c]
movss dword [esp + 0x8c], xmm7
movss xmm7, dword [ecx + 0x30]
movss dword [esp + 0x94], xmm7
movss xmm7, dword [ecx + 0x34]
movss dword [esp + 0x90], xmm7
movss xmm7, dword [ecx + 0x38]
movss dword [esp + 0x84], xmm7
movss xmm7, dword [ecx + 0x3c]
movss dword [esp + 0x70], xmm7
movss xmm7, dword [ecx + 0x40]
movss dword [esp + 0x5c], xmm7
movss xmm7, dword [ecx + 0x44]
movss dword [esp + 0x44], xmm7
movss xmm7, dword [ecx + 0x48]
movss dword [esp + 0x54], xmm7
movss xmm7, dword [ecx + 0x4c]
movss dword [esp + 0x48], xmm7
movss xmm7, dword [ecx + 0x50]
movss dword [esp + 0x4c], xmm7
movss xmm7, dword [ecx + 0x54]
movss dword [esp + 0x2c], xmm7
movss xmm7, dword [ecx + 0x58]
movss dword [esp + 0x60], xmm7
movss xmm7, dword [ecx + 0x5c]
movss dword [esp + 0x80], xmm7
movss xmm7, dword [ecx + 0x60]
movss xmm6, dword [ecx - 4]
movss dword [esp + 0x74], xmm7
movss xmm7, dword [ecx + 0x64]
movss xmm5, dword [ecx]
movss xmm4, dword [ecx + 4]
movss dword [esp + 0x88], xmm7
movss xmm7, dword [ecx + 0x68]
movss dword [esp + 0x7c], xmm7
movss xmm7, dword [ecx + 0x6c]
movss xmm3, dword [ecx - 8]
movss dword [esp + 0x58], xmm7
movss xmm7, dword [ecx + 0x70]
movss dword [esp + 0x140], xmm7
movss xmm7, dword [ecx + 0x74]
movss dword [esp + 0x148], xmm7
movss xmm7, dword [ecx + 0x78]
movss dword [esp + 0x150], xmm7
movss xmm7, dword [ecx + 0x7c]
movss dword [esp + 0x158], xmm7
movss xmm7, dword [ecx + 0x80]
movss dword [esp + 0x168], xmm7
movss xmm7, dword [ecx + 0x84]
movss dword [esp + 0x170], xmm7
movss xmm7, dword [esp + 0x8c]
mulss xmm6, xmm0
mulss xmm7, xmm1
subss xmm6, xmm7
addss xmm6, dword [esp + 0x80]
movss dword [esp + 0x18], xmm6
movss xmm6, dword [esp + 0x94]
mulss xmm5, xmm0
movss dword [esp + 0x1c4], xmm4
movss xmm4, dword [ecx + 8]
mulss xmm6, xmm1
subss xmm5, xmm6
addss xmm5, dword [esp + 0x74]
movss dword [esp + 0x1c0], xmm4
movss xmm4, dword [ecx + 0xc]
movss dword [esp + 0x28], xmm5
movss xmm5, dword [esp + 0x1c4]
movss xmm6, dword [esp + 0x90]
imul ebp, edx
movss xmm7, dword [esp + 0x84]
mov ebx, dword [esp + 0x1c]
mulss xmm6, xmm1
mulss xmm7, xmm1
mulss xmm5, xmm0
subss xmm5, xmm6
movss xmm6, dword [esp + 0x1c0]
mulss xmm6, xmm0
subss xmm6, xmm7
addss xmm6, dword [esp + 0x7c]
movss xmm7, dword [esp + 0x28]
movss dword [esp + 0x34], xmm6
movss xmm6, dword [esp + 0x78]
mulss xmm6, xmm1
addss xmm5, dword [esp + 0x88]
mulss xmm3, xmm0
subss xmm3, xmm6
addss xmm3, dword [esp + 0x60]
add ebp, eax
lea ebx, [ebx + ebp*4]
movaps xmm6, xmm7
mulss xmm6, xmm1
mulss xmm3, xmm0
subss xmm3, xmm6
addss xmm3, dword [esp + 0x34]
movss dword [ebx], xmm3
mov ebp, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x18]
lea ebx, [edx + esi]
imul ebx, dword [esp + 0x24]
add ebx, eax
lea ebx, [ebp + ebx*4]
movaps xmm6, xmm7
mulss xmm6, xmm0
movss dword [esp + 0x38], xmm6
mulss xmm3, xmm0
movaps xmm7, xmm3
addss xmm7, xmm6
movss xmm6, dword [esp + 0x34]
subss xmm6, xmm7
addss xmm6, xmm5
movss dword [ebx], xmm6
mov ebp, dword [esp + 0x1c]
lea ebx, [edx + esi*2]
imul ebx, dword [esp + 0x24]
add ebx, eax
lea ebx, [ebp + ebx*4]
movaps xmm6, xmm3
subss xmm6, dword [esp + 0x38]
subss xmm6, xmm5
addss xmm6, dword [esp + 0x34]
movss dword [ebx], xmm6
mov ebx, dword [esp + 0x1c8]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
add ebx, eax
movaps xmm6, xmm5
mulss xmm6, xmm2
movss dword [esp + 0x50], xmm6
movss xmm6, dword [esp + 0x18]
movss xmm7, dword [esp + 0x50]
mulss xmm6, xmm2
lea ebx, [ebp + ebx*4]
movss dword [esp + 0x30], xmm6
addss xmm6, dword [esp + 0x28]
subss xmm7, xmm6
addss xmm7, dword [esp + 0x34]
movss xmm6, dword [esp + 0x30]
subss xmm6, dword [esp + 0x28]
subss xmm6, dword [esp + 0x50]
addss xmm6, dword [esp + 0x34]
movss dword [ebx], xmm7
mov ebp, dword [esp + 0x1c]
lea ebx, [edx + esi*4]
imul ebx, dword [esp + 0x24]
add ebx, eax
lea ebx, [ebp + ebx*4]
movss dword [ebx], xmm6
mov ebx, dword [esp + 0x1bc]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
movss xmm6, dword [esp + 0x70]
mulss xmm4, xmm0
add ebx, eax
lea ebx, [ebp + ebx*4]
mulss xmm6, xmm1
subss xmm4, xmm6
addss xmm4, dword [esp + 0x58]
movss xmm6, dword [esp + 0x1ac]
mulss xmm5, xmm1
subss xmm3, xmm5
addss xmm4, xmm3
movss xmm5, dword [esp + 0x198]
movss xmm3, dword [esp + 0x8c]
movss dword [ebx], xmm4
mov ebx, dword [esp + 0xdc]
imul ebx, dword [esp + 0x24]
mulss xmm3, xmm0
movss dword [esp + 0x13c], xmm3
mov ebp, dword [esp + 0x1c]
mulss xmm5, xmm0
movaps xmm4, xmm5
addss xmm4, xmm3
movss xmm3, dword [esp + 0x80]
subss xmm3, xmm4
addss xmm3, dword [esp + 0x44]
movss xmm4, dword [esp + 0x1b0]
mulss xmm4, xmm0
movss dword [esp + 0xb0], xmm4
movss dword [esp + 0x18], xmm3
movss xmm3, dword [esp + 0x94]
mulss xmm3, xmm0
addss xmm4, xmm3
movss dword [esp + 0xf4], xmm3
movss xmm3, dword [esp + 0x74]
subss xmm3, xmm4
addss xmm3, dword [esp + 0x54]
movss xmm4, dword [esp + 0x1b8]
mulss xmm4, xmm0
movss dword [esp + 0x64], xmm4
movss dword [esp + 0x28], xmm3
movss xmm3, dword [esp + 0x90]
mulss xmm3, xmm0
addss xmm4, xmm3
movss dword [esp + 0xc8], xmm3
movss xmm3, dword [esp + 0x88]
subss xmm3, xmm4
movss xmm4, dword [esp + 0x84]
mulss xmm4, xmm0
addss xmm3, dword [esp + 0x48]
mulss xmm6, xmm0
movss dword [esp + 0x16c], xmm4
movaps xmm7, xmm6
addss xmm7, xmm4
movss xmm4, dword [esp + 0x78]
movss dword [esp + 0x68], xmm6
movss xmm6, dword [esp + 0x7c]
subss xmm6, xmm7
movss xmm7, dword [esp + 0x1a8]
addss xmm6, dword [esp + 0x4c]
mulss xmm4, xmm0
movss dword [esp + 0x144], xmm4
mulss xmm7, xmm0
movss dword [esp + 0x1a0], xmm7
addss xmm7, xmm4
movss xmm4, dword [esp + 0x60]
subss xmm4, xmm7
addss xmm4, dword [esp + 0x5c]
movss xmm7, dword [esp + 0x28]
add ebx, eax
lea ebx, [ebp + ebx*4]
mulss xmm4, xmm0
mulss xmm7, xmm1
subss xmm4, xmm7
addss xmm4, xmm6
movss dword [ebx], xmm4
mov ebx, dword [esp + 0x134]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
add ebx, eax
movss xmm7, dword [esp + 0x18]
movss xmm4, dword [esp + 0x28]
mulss xmm4, xmm0
movss dword [esp + 0x38], xmm4
lea ebx, [ebp + ebx*4]
mulss xmm7, xmm0
movss dword [esp + 0x14], xmm7
addss xmm7, xmm4
movaps xmm4, xmm6
subss xmm4, xmm7
addss xmm4, xmm3
movss dword [ebx], xmm4
mov ebp, dword [esp + 0x1c]
movss xmm4, dword [esp + 0x14]
subss xmm4, dword [esp + 0x38]
subss xmm4, xmm3
lea ebx, [edx + esi*8]
imul ebx, dword [esp + 0x24]
addss xmm4, xmm6
add ebx, eax
movss dword [ebp + ebx*4], xmm4
lea ebx, [ebp + ebx*4]
mov ebx, dword [esp + 0xe4]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
movaps xmm4, xmm3
mulss xmm4, xmm2
movss dword [esp + 0x50], xmm4
movss xmm4, dword [esp + 0x18]
movss xmm7, dword [esp + 0x50]
mulss xmm4, xmm2
add ebx, eax
lea ebx, [ebp + ebx*4]
movss dword [esp + 0x30], xmm4
addss xmm4, dword [esp + 0x28]
subss xmm7, xmm4
movss xmm4, dword [esp + 0x30]
subss xmm4, dword [esp + 0x28]
subss xmm4, dword [esp + 0x50]
addss xmm7, xmm6
movss dword [ebx], xmm7
mov ebx, dword [esp + 0x17c]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
movss xmm7, dword [esp + 0x58]
add ebx, eax
addss xmm4, xmm6
movss xmm6, dword [esp + 0x1a4]
movss dword [ebp + ebx*4], xmm4
movss xmm4, dword [esp + 0x70]
lea ebx, [ebp + ebx*4]
mov ebx, dword [esp + 0xec]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
mulss xmm3, xmm1
mulss xmm4, xmm0
mulss xmm6, xmm0
movss dword [esp + 0x174], xmm4
movss dword [esp + 0x3c], xmm6
addss xmm6, xmm4
movss xmm4, dword [esp + 0x14]
subss xmm4, xmm3
movaps xmm3, xmm5
subss xmm3, dword [esp + 0x13c]
subss xmm3, dword [esp + 0x44]
addss xmm3, dword [esp + 0x80]
movss dword [esp + 0x18], xmm3
movss xmm3, dword [esp + 0xb0]
subss xmm3, dword [esp + 0xf4]
subss xmm3, dword [esp + 0x54]
addss xmm3, dword [esp + 0x74]
movss dword [esp + 0x28], xmm3
movss xmm3, dword [esp + 0x64]
subss xmm3, dword [esp + 0xc8]
subss xmm3, dword [esp + 0x48]
add ebx, eax
subss xmm7, xmm6
addss xmm7, dword [esp + 0x2c]
lea ebx, [ebp + ebx*4]
addss xmm7, xmm4
movss dword [ebx], xmm7
mov ebx, dword [esp + 0xfc]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
movss xmm6, dword [esp + 0x1a0]
subss xmm6, dword [esp + 0x144]
subss xmm6, dword [esp + 0x5c]
addss xmm6, dword [esp + 0x60]
movss xmm4, dword [esp + 0x68]
subss xmm4, dword [esp + 0x16c]
subss xmm4, dword [esp + 0x4c]
addss xmm4, dword [esp + 0x7c]
movss xmm7, dword [esp + 0x28]
add ebx, eax
lea ebx, [ebp + ebx*4]
mulss xmm6, xmm0
addss xmm3, dword [esp + 0x88]
mulss xmm7, xmm1
subss xmm6, xmm7
addss xmm6, xmm4
movss dword [ebx], xmm6
mov ebx, dword [esp + 0x104]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
movss xmm7, dword [esp + 0x18]
movss xmm6, dword [esp + 0x28]
mulss xmm6, xmm0
add ebx, eax
lea ebx, [ebp + ebx*4]
movss dword [esp + 0x38], xmm6
mulss xmm7, xmm0
movss dword [esp + 0x14], xmm7
addss xmm7, xmm6
movaps xmm6, xmm4
subss xmm6, xmm7
addss xmm6, xmm3
movss dword [ebx], xmm6
mov ebx, dword [esp + 0x18c]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
movss xmm6, dword [esp + 0x14]
subss xmm6, dword [esp + 0x38]
add ebx, eax
lea ebx, [ebp + ebx*4]
subss xmm6, xmm3
addss xmm6, xmm4
movss dword [ebx], xmm6
mov ebx, dword [esp + 0x10c]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
add ebx, eax
lea ebx, [ebp + ebx*4]
movaps xmm6, xmm3
mulss xmm6, xmm2
movss dword [esp + 0x50], xmm6
movss xmm6, dword [esp + 0x18]
movss xmm7, dword [esp + 0x50]
mulss xmm6, xmm2
movss dword [esp + 0x30], xmm6
addss xmm6, dword [esp + 0x28]
subss xmm7, xmm6
movss xmm6, dword [esp + 0x30]
subss xmm6, dword [esp + 0x28]
subss xmm6, dword [esp + 0x50]
addss xmm7, xmm4
movss dword [ebx], xmm7
mov ebx, dword [esp + 0x14c]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
add ebx, eax
lea ebx, [ebp + ebx*4]
addss xmm6, xmm4
movss xmm4, dword [esp + 0x14]
movss dword [ebx], xmm6
mov ebx, dword [esp + 0x114]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
mulss xmm3, xmm1
add ebx, eax
subss xmm4, xmm3
movss xmm3, dword [esp + 0x3c]
lea ebx, [ebp + ebx*4]
subss xmm3, dword [esp + 0x174]
subss xmm3, dword [esp + 0x2c]
addss xmm3, dword [esp + 0x58]
addss xmm4, xmm3
movss xmm3, dword [esp + 0x44]
movss dword [ebx], xmm4
movss xmm4, dword [esp + 0x198]
movss xmm6, dword [esp + 0x1ac]
mulss xmm4, xmm2
mov ebx, dword [esp + 0x11c]
imul ebx, dword [esp + 0x24]
movss dword [esp + 0xd8], xmm4
addss xmm4, dword [esp + 0x8c]
mulss xmm3, xmm2
movss dword [esp + 0xe0], xmm3
subss xmm3, xmm4
addss xmm3, dword [esp + 0x80]
movss xmm4, dword [esp + 0x1b0]
mulss xmm4, xmm2
mov ebp, dword [esp + 0x1c]
movss dword [esp + 0xe8], xmm4
addss xmm4, dword [esp + 0x94]
movss dword [esp + 0x18], xmm3
movss xmm3, dword [esp + 0x54]
mulss xmm3, xmm2
movss dword [esp + 0xcc], xmm3
subss xmm3, xmm4
addss xmm3, dword [esp + 0x74]
movss xmm4, dword [esp + 0x1b8]
mulss xmm4, xmm2
movss dword [esp + 0xd0], xmm4
addss xmm4, dword [esp + 0x90]
movss dword [esp + 0x28], xmm3
movss xmm3, dword [esp + 0x48]
mulss xmm6, xmm2
movss dword [esp + 0xf8], xmm6
addss xmm6, dword [esp + 0x84]
mulss xmm3, xmm2
movss dword [esp + 0xf0], xmm3
subss xmm3, xmm4
movss xmm4, dword [esp + 0x4c]
mulss xmm4, xmm2
movss dword [esp + 0x100], xmm4
subss xmm4, xmm6
addss xmm4, dword [esp + 0x7c]
movss dword [esp + 0x34], xmm4
movss xmm4, dword [esp + 0x5c]
addss xmm3, dword [esp + 0x88]
mulss xmm4, xmm2
movss dword [esp + 0x1b4], xmm4
movss xmm4, dword [esp + 0x1a8]
movss xmm7, dword [esp + 0x1b4]
add ebx, eax
mulss xmm4, xmm2
lea ebx, [ebp + ebx*4]
movaps xmm6, xmm4
addss xmm6, dword [esp + 0x78]
subss xmm7, xmm6
addss xmm7, dword [esp + 0x60]
movss xmm6, dword [esp + 0x28]
mulss xmm6, xmm1
mulss xmm7, xmm0
subss xmm7, xmm6
addss xmm7, dword [esp + 0x34]
movss xmm6, dword [esp + 0x28]
movss dword [ebx], xmm7
mov ebx, dword [esp + 0x154]
imul ebx, dword [esp + 0x24]
movss xmm7, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mulss xmm6, xmm0
mulss xmm7, xmm0
movss dword [esp + 0x38], xmm6
movss dword [esp + 0x14], xmm7
addss xmm7, xmm6
movss xmm6, dword [esp + 0x34]
add ebx, eax
lea ebx, [ebp + ebx*4]
subss xmm6, xmm7
addss xmm6, xmm3
movss dword [ebx], xmm6
mov ebx, dword [esp + 0x124]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
movss xmm6, dword [esp + 0x14]
subss xmm6, dword [esp + 0x38]
subss xmm6, xmm3
addss xmm6, dword [esp + 0x34]
add ebx, eax
movss dword [ebp + ebx*4], xmm6
lea ebx, [ebp + ebx*4]
mov ebx, dword [esp + 0x184]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
movaps xmm6, xmm3
mulss xmm6, xmm2
movss dword [esp + 0x50], xmm6
movss xmm6, dword [esp + 0x18]
movss xmm7, dword [esp + 0x50]
mulss xmm6, xmm2
movss dword [esp + 0x30], xmm6
addss xmm6, dword [esp + 0x28]
subss xmm7, xmm6
addss xmm7, dword [esp + 0x34]
movss xmm6, dword [esp + 0x30]
subss xmm6, dword [esp + 0x28]
subss xmm6, dword [esp + 0x50]
addss xmm6, dword [esp + 0x34]
add ebx, eax
movss dword [ebp + ebx*4], xmm7
lea ebx, [ebp + ebx*4]
mov ebx, dword [esp + 0x12c]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
add ebx, eax
movss dword [ebp + ebx*4], xmm6
movss xmm6, dword [esp + 0x2c]
lea ebx, [ebp + ebx*4]
mov ebx, dword [esp + 0xd4]
imul ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
mulss xmm3, xmm1
mulss xmm6, xmm2
movss dword [esp + 0x19c], xmm6
movss xmm6, dword [esp + 0x1a4]
movss xmm7, dword [esp + 0x19c]
mulss xmm6, xmm2
movss dword [esp + 0x138], xmm6
addss xmm6, dword [esp + 0x70]
subss xmm7, xmm6
movss xmm6, dword [esp + 0x14]
addss xmm7, dword [esp + 0x58]
subss xmm6, xmm3
movss xmm3, dword [esp + 0xd8]
subss xmm3, dword [esp + 0x8c]
subss xmm3, dword [esp + 0xe0]
addss xmm3, dword [esp + 0x80]
movss dword [esp + 0x18], xmm3
movss xmm3, dword [esp + 0xe8]
subss xmm3, dword [esp + 0x94]
subss xmm3, dword [esp + 0xcc]
addss xmm3, dword [esp + 0x74]
add ebx, eax
lea ebx, [ebp + ebx*4]
addss xmm7, xmm6
movss dword [ebx], xmm7
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0x108]
mov ebp, dword [esp + 0x1c]
movaps xmm7, xmm3
movss xmm3, dword [esp + 0xd0]
subss xmm3, dword [esp + 0x90]
subss xmm3, dword [esp + 0xf0]
addss xmm3, dword [esp + 0x88]
movaps xmm6, xmm3
movss xmm3, dword [esp + 0xf8]
subss xmm3, dword [esp + 0x84]
subss xmm3, dword [esp + 0x100]
addss xmm3, dword [esp + 0x7c]
movss dword [esp + 0x28], xmm7
movss dword [esp + 0x34], xmm3
add ebx, eax
subss xmm4, dword [esp + 0x78]
subss xmm4, dword [esp + 0x1b4]
addss xmm4, dword [esp + 0x60]
mulss xmm4, xmm0
lea ebx, [ebp + ebx*4]
movaps xmm3, xmm7
mulss xmm3, xmm1
subss xmm4, xmm3
addss xmm4, dword [esp + 0x34]
movss dword [ebx], xmm4
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0x110]
mov ebp, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x18]
add ebx, eax
lea ebx, [ebp + ebx*4]
mulss xmm3, xmm0
movaps xmm4, xmm7
mulss xmm4, xmm0
movss dword [esp + 0x38], xmm4
movaps xmm7, xmm3
addss xmm7, xmm4
movss xmm4, dword [esp + 0x34]
subss xmm4, xmm7
addss xmm4, xmm6
movss dword [ebx], xmm4
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x1c]
add ebx, eax
lea ebx, [ebp + ebx*4]
movaps xmm4, xmm3
subss xmm4, dword [esp + 0x38]
subss xmm4, xmm6
addss xmm4, dword [esp + 0x34]
movss dword [ebx], xmm4
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x1c]
add ebx, eax
lea ebx, [ebp + ebx*4]
movaps xmm4, xmm6
mulss xmm4, xmm2
movss dword [esp + 0x50], xmm4
movss xmm4, dword [esp + 0x18]
movss xmm7, dword [esp + 0x50]
mulss xmm4, xmm2
movss dword [esp + 0x30], xmm4
addss xmm4, dword [esp + 0x28]
subss xmm7, xmm4
addss xmm7, dword [esp + 0x34]
movss xmm4, dword [esp + 0x30]
subss xmm4, dword [esp + 0x28]
subss xmm4, dword [esp + 0x50]
addss xmm4, dword [esp + 0x34]
movss dword [ebx], xmm7
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0x128]
mov ebp, dword [esp + 0x1c]
add ebx, eax
movss dword [ebp + ebx*4], xmm4
movss xmm4, dword [esp + 0x138]
subss xmm4, dword [esp + 0x70]
subss xmm4, dword [esp + 0x19c]
addss xmm4, dword [esp + 0x58]
lea ebx, [ebp + ebx*4]
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0x130]
mov ebp, dword [esp + 0x1c]
add ebx, eax
mulss xmm6, xmm1
subss xmm3, xmm6
addss xmm3, xmm4
movss xmm4, dword [esp + 0x5c]
lea ebx, [ebp + ebx*4]
movss dword [ebx], xmm3
movss xmm3, dword [esp + 0x1a0]
mulss xmm4, xmm1
subss xmm3, xmm4
addss xmm3, dword [esp + 0x140]
movss xmm4, dword [esp + 0x44]
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0x178]
movss xmm6, dword [esp + 0x54]
movss xmm7, dword [esp + 0x4c]
mulss xmm6, xmm1
mov ebp, dword [esp + 0x1c]
mulss xmm4, xmm1
subss xmm5, xmm4
movss xmm4, dword [esp + 0xb0]
subss xmm4, xmm6
addss xmm4, dword [esp + 0x150]
movss xmm6, dword [esp + 0x48]
mulss xmm6, xmm1
addss xmm5, dword [esp + 0x148]
mulss xmm7, xmm1
movss dword [esp + 0x28], xmm4
movss xmm4, dword [esp + 0x64]
subss xmm4, xmm6
movss xmm6, dword [esp + 0x68]
subss xmm6, xmm7
addss xmm6, dword [esp + 0x168]
movss xmm7, dword [esp + 0x2c]
movss dword [esp + 0x34], xmm6
movss xmm6, dword [esp + 0x3c]
addss xmm4, dword [esp + 0x158]
add ebx, eax
lea ebx, [ebp + ebx*4]
mulss xmm7, xmm1
subss xmm6, xmm7
addss xmm6, dword [esp + 0x170]
movss dword [esp + 0xa0], xmm6
movss xmm6, dword [esp + 0x28]
movaps xmm7, xmm6
mulss xmm7, xmm1
mulss xmm3, xmm0
subss xmm3, xmm7
addss xmm3, dword [esp + 0x34]
movss dword [ebx], xmm3
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0x180]
mov ebp, dword [esp + 0x1c]
mulss xmm6, xmm0
movss dword [esp + 0x38], xmm6
add ebx, eax
lea ebx, [ebp + ebx*4]
movaps xmm3, xmm5
mulss xmm3, xmm0
movaps xmm7, xmm3
addss xmm7, xmm6
movss xmm6, dword [esp + 0x34]
subss xmm6, xmm7
addss xmm6, xmm4
movss dword [ebx], xmm6
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0x188]
mov ebp, dword [esp + 0x1c]
add ebx, eax
lea ebx, [ebp + ebx*4]
movaps xmm6, xmm3
subss xmm6, dword [esp + 0x38]
subss xmm6, xmm4
addss xmm6, dword [esp + 0x34]
movss dword [ebx], xmm6
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0x190]
mov ebp, dword [esp + 0x1c]
movaps xmm6, xmm4
mulss xmm6, xmm2
movss dword [esp + 0x50], xmm6
movss xmm7, dword [esp + 0x50]
add ebx, eax
mulss xmm5, xmm2
movaps xmm6, xmm5
addss xmm6, dword [esp + 0x28]
lea ebx, [ebp + ebx*4]
subss xmm7, xmm6
movss xmm6, dword [esp + 0x34]
addss xmm7, xmm6
movss dword [ebx], xmm7
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x1c]
subss xmm5, dword [esp + 0x28]
subss xmm5, dword [esp + 0x50]
add ebx, eax
lea ebx, [ebp + ebx*4]
addss xmm5, xmm6
movss dword [ebx], xmm5
mov ebx, dword [esp + 0x24]
imul ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x1c]
add ebx, eax
lea ebx, [ebp + ebx*4]
mulss xmm4, xmm1
subss xmm3, xmm4
addss xmm3, dword [esp + 0xa0]
movss dword [ebx], xmm3
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0x24]
add ebx, ebx
add ebx, ebx
add ecx, ebx
mov ebx, dword [esp + 0x98]
inc eax
cmp eax, ebx
jl 0x1002e080
mov ecx, dword [esp + 0x6c]
add dword [esp + 0x40], ecx
inc edx
cmp edx, esi
jl 0x1002deb0
lea ecx, [edi + edi*8]
add ecx, ecx
xor edx, edx
add ecx, ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x160], edx
mov dword [esp + 0x164], edx
mov byte [esp + 0x244], 4
cmp ecx, edx
je 0x1002f0a5
cmp ebx, edx
je 0x1002f0a5
mov eax, 0x7fffffff
cdq
idiv ebx
cmp ecx, eax
setg al
test al, al
je 0x1002f087
call fcn.100313a0
xor edx, edx
cmp ebx, edx
je 0x1002f0a5
mov eax, 0x7fffffff
cdq
idiv ebx
cmp ecx, eax
setg al
test al, al
je 0x1002f0a3
call fcn.100313a0
xor edx, edx
mov eax, ecx
imul eax, ebx
mov dword [esp + 0x6c], eax
cmp eax, edx
je 0x1002f0ff
push 0
call fcn.100671c0
mov eax, dword [esp + 0x70]
add esp, 4
cmp eax, 0x3fffffff
jbe 0x1002f0cc
call fcn.100313a0
lea ebp, [eax*4]
push 0x10
push ebp
call fcn.100671da
add esp, 8
test eax, eax
jne 0x1002f0eb
test ebp, ebp
je 0x1002f0eb
call fcn.100313a0
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x15c], eax
xor edx, edx
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], ebx
movss xmm0, dword [0x100867d4]
movss dword [esp + 0x6c], xmm0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], 0x24
jmp 0x1002f134
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
imul edx, ebp
lea ecx, [eax + edx*4]
mov eax, dword [esp + 0x254]
lea edx, [esp + 0x1c]
mov dword [esp + 0x204], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x200], edx
mov edx, dword [eax + 8]
imul ebp, edx
mov dword [esp + 0x1f4], ecx
mov ecx, dword [eax]
lea ecx, [ecx + ebp*4]
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1e0], ecx
lea eax, [esp + 0x1f4]
push eax
lea ecx, [esp + 0x20c]
push ecx
lea ecx, [esp + 0x1e8]
mov dword [esp + 0x200], esi
mov dword [esp + 0x204], ebx
mov dword [esp + 0x1ec], edi
mov dword [esp + 0x1f0], esi
mov dword [esp + 0x1f8], edx
call fcn.10032ef0
mov ebp, eax
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x15c]
imul edx, eax
xorps xmm0, xmm0
lea edx, [ecx + edx*4]
mov dword [esp + 0x1cc], edx
lea edx, [esp + 0xb8]
mov dword [esp + 0x1dc], eax
push edx
lea eax, [esp + 0x1d0]
lea ecx, [esp + 0x160]
push eax
mov byte [esp + 0x24c], 6
mov dword [esp + 0x1d8], edi
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], ebx
movss dword [esp + 0xcc], xmm0
call fcn.10033710
add esp, 8
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0x1d0]
push edx
mov ecx, ebp
call fcn.10033620
mov eax, dword [esp + 0x230]
push eax
call fcn.100671c0
add dword [esp + 0x44], esi
add dword [esp + 0x30], edi
add esp, 4
sub dword [esp + 0x3c], 1
jne 0x1002f130
xor ebp, ebp
mov eax, edi
imul eax, ebx
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc0], ebp
mov byte [esp + 0x244], 7
cmp eax, ebp
je 0x1002f2ac
cmp eax, 0x7ffffff
setg cl
test cl, cl
je 0x1002f2ac
call fcn.100313a0
push 0x10
push eax
shl eax, 4
push eax
lea ecx, [esp + 0xc4]
call fcn.10031af0
cmp edi, ebp
mov dword [esp + 0x60], ebp
jle 0x1002fec6
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0xb8]
imul eax, ebx
movss xmm0, dword [0x100867e4]
movss xmm1, dword [0x100867ec]
add eax, eax
add eax, eax
add esi, 8
mov dword [esp + 0xdc], eax
mov dword [esp + 0xb0], esi
xor ecx, ecx
test ebx, ebx
jle 0x1002fea9
lea eax, [ebp + edi*2]
add eax, edi
mov dword [esp + 0x6c], eax
lea eax, [ebp + edi*4]
add eax, edi
mov dword [esp + 0xa0], eax
lea edx, [edi + edi*2]
lea eax, [ebp + edx*2]
mov dword [esp + 0x9c], eax
lea eax, [edi*8]
sub eax, edi
add eax, ebp
mov dword [esp + 0xb4], eax
lea eax, [ebp + edi*8]
add eax, edi
mov dword [esp + 0x190], eax
lea edx, [edi + edi*4]
lea eax, [ebp + edx*2]
mov dword [esp + 0x188], eax
mov eax, edi
imul eax, eax, 0xb
add eax, ebp
mov dword [esp + 0x180], eax
lea edx, [edi + edi*2]
lea eax, [ebp + edx*4]
mov dword [esp + 0x178], eax
mov eax, edi
imul eax, eax, 0xd
add eax, ebp
mov dword [esp + 0x170], eax
lea edx, [edi*8]
sub edx, edi
lea eax, [ebp + edx*2]
mov dword [esp + 0x168], eax
mov eax, edi
shl eax, 4
sub eax, edi
add eax, ebp
mov dword [esp + 0x158], eax
mov eax, edi
shl eax, 4
add eax, ebp
mov dword [esp + 0x150], eax
mov eax, edi
shl eax, 4
add eax, ebp
add eax, edi
mov dword [esp + 0x148], eax
lea edx, [edi + edi*8]
lea eax, [ebp + edx*2]
mov dword [esp + 0x140], eax
mov eax, edi
imul eax, eax, 0x13
add eax, ebp
mov dword [esp + 0x138], eax
lea edx, [edi + edi*4]
lea eax, [ebp + edx*4]
mov dword [esp + 0x130], eax
mov eax, edi
imul eax, eax, 0x15
add eax, ebp
mov dword [esp + 0x128], eax
mov eax, edi
imul eax, eax, 0x16
add eax, ebp
mov dword [esp + 0x120], eax
mov eax, edi
imul eax, eax, 0x17
add eax, ebp
mov dword [esp + 0x118], eax
lea edx, [edi + edi*2]
lea eax, [ebp + edx*8]
mov dword [esp + 0x110], eax
mov eax, edi
imul eax, eax, 0x19
add eax, ebp
mov dword [esp + 0x108], eax
mov eax, edi
imul eax, eax, 0x1a
add eax, ebp
mov dword [esp + 0x100], eax
mov eax, edi
imul eax, eax, 0x1b
add eax, ebp
mov dword [esp + 0xf8], eax
lea edx, [edi*8]
sub edx, edi
lea eax, [ebp + edx*4]
mov dword [esp + 0xf0], eax
mov eax, edi
imul eax, eax, 0x1d
add eax, ebp
mov dword [esp + 0xd0], eax
mov edx, edi
shl edx, 4
sub edx, edi
lea eax, [ebp + edx*2]
mov dword [esp + 0xcc], eax
mov eax, edi
shl eax, 5
sub eax, edi
add eax, ebp
mov dword [esp + 0xe8], eax
mov eax, edi
shl eax, 5
add eax, ebp
mov dword [esp + 0xe0], eax
mov eax, edi
shl eax, 5
add eax, ebp
add eax, edi
mov edx, edi
shl edx, 4
mov dword [esp + 0xd8], eax
add edx, edi
lea eax, [ebp + edx*2]
mov dword [esp + 0xd4], eax
mov eax, edi
imul eax, eax, 0x23
add eax, ebp
mov dword [esp + 0x12c], eax
jmp 0x1002f4e0
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x15c]
mov ebx, eax
imul ebx, ebp
add ebx, ecx
lea ebx, [edx + ebx*4]
mov dword [esp + 0x174], ebx
add ebp, edi
mov ebx, eax
imul ebx, ebp
add ebx, ecx
movss xmm2, dword [edx + ebx*4]
lea ebx, [edx + ebx*4]
mov ebx, dword [esp + 0x60]
lea ebx, [ebx + edi*2]
mov ebp, eax
imul ebp, ebx
movss dword [esp + 0x184], xmm2
add ebp, ecx
movss xmm2, dword [edx + ebp*4]
lea ebx, [edx + ebp*4]
mov ebx, dword [esp + 0x6c]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
mov ebp, dword [esp + 0x60]
movss dword [esp + 0x124], xmm2
movss xmm2, dword [ebx]
lea ebx, [ebp + edi*4]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x154], xmm2
movss xmm2, dword [ebx]
mov ebx, dword [esp + 0xa0]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x11c], xmm2
movss xmm2, dword [ebx]
mov ebx, dword [esp + 0x9c]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x114], xmm2
movss xmm2, dword [ebx]
mov ebx, dword [esp + 0xb4]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x74], xmm2
movss xmm2, dword [ebx]
lea ebx, [ebp + edi*8]
imul ebx, eax
add ebx, ecx
movss xmm3, dword [edx + ebx*4]
lea ebx, [edx + ebx*4]
mov ebx, dword [esp + 0x190]
imul ebx, eax
add ebx, ecx
movss xmm4, dword [edx + ebx*4]
lea ebx, [edx + ebx*4]
mov ebx, dword [esp + 0x188]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x94], xmm4
movss xmm4, dword [ebx]
mov ebx, dword [esp + 0x180]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x7c], xmm4
movss xmm4, dword [ebx]
mov ebx, dword [esp + 0x178]
imul ebx, eax
add ebx, ecx
movss dword [esp + 0x68], xmm2
movss dword [esp + 0x64], xmm3
movss dword [esp + 0x38], xmm4
lea ebx, [edx + ebx*4]
movss xmm4, dword [ebx]
mov ebx, dword [esp + 0x170]
imul ebx, eax
add ebx, ecx
movss xmm7, dword [edx + ebx*4]
lea ebx, [edx + ebx*4]
mov ebx, dword [esp + 0x168]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x88], xmm4
movss xmm4, dword [ebx]
mov ebx, dword [esp + 0x158]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x40], xmm4
movss xmm4, dword [ebx]
mov ebx, dword [esp + 0x150]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x90], xmm4
movss xmm4, dword [ebx]
mov ebx, dword [esp + 0x148]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x8c], xmm4
movss xmm4, dword [ebx]
mov ebx, dword [esp + 0x140]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x30], xmm4
movss xmm4, dword [ebx]
mov ebx, dword [esp + 0x138]
imul ebx, eax
add ebx, ecx
movss xmm5, dword [edx + ebx*4]
lea ebx, [edx + ebx*4]
mov ebx, dword [esp + 0x130]
imul ebx, eax
add ebx, ecx
movss xmm6, dword [edx + ebx*4]
lea ebx, [edx + ebx*4]
mov ebx, dword [esp + 0x128]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x48], xmm6
movss xmm6, dword [ebx]
mov ebx, dword [esp + 0x120]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x44], xmm6
movss xmm6, dword [ebx]
mov ebx, dword [esp + 0x118]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x70], xmm6
movss xmm6, dword [ebx]
mov ebx, dword [esp + 0x110]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x80], xmm6
movss xmm6, dword [ebx]
mov ebx, dword [esp + 0x108]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x2c], xmm6
movss xmm6, dword [ebx]
mov ebx, dword [esp + 0x100]
imul ebx, eax
movss dword [esp + 0x3c], xmm7
movss dword [esp + 0x4c], xmm6
add ebx, ecx
movss xmm6, dword [edx + ebx*4]
lea ebx, [edx + ebx*4]
mov ebx, dword [esp + 0xf8]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x54], xmm6
movss xmm6, dword [ebx]
mov ebx, dword [esp + 0xf0]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x5c], xmm6
movss xmm6, dword [ebx]
mov ebx, dword [esp + 0xd0]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x78], xmm6
movss xmm6, dword [ebx]
mov ebx, dword [esp + 0xcc]
imul ebx, eax
add ebx, ecx
lea ebx, [edx + ebx*4]
movss dword [esp + 0x84], xmm6
movss xmm6, dword [ebx]
mov ebx, dword [esp + 0xe8]
imul ebx, eax
add ebx, ecx
movss dword [esp + 0x10c], xmm6
movss xmm6, dword [edx + ebx*4]
lea ebx, [edx + ebx*4]
mov ebx, eax
imul ebx, dword [esp + 0xe0]
movss dword [esp + 0x104], xmm6
add ebx, ecx
movss xmm6, dword [edx + ebx*4]
lea ebx, [edx + ebx*4]
mov ebx, eax
imul ebx, dword [esp + 0xd8]
movss dword [esp + 0xfc], xmm6
add ebx, ecx
movss xmm6, dword [edx + ebx*4]
lea ebx, [edx + ebx*4]
mov ebx, eax
imul eax, dword [esp + 0x12c]
imul ebx, dword [esp + 0xd4]
movss dword [esp + 0xc8], xmm6
add ebx, ecx
movss xmm6, dword [edx + ebx*4]
movss dword [esp + 0x13c], xmm6
lea ebx, [edx + ebx*4]
add eax, ecx
movss xmm6, dword [edx + eax*4]
movss dword [esp + 0x17c], xmm6
movss xmm6, dword [esp + 0x4c]
addss xmm6, xmm5
addss xmm6, xmm7
movss xmm7, dword [esp + 0x2c]
addss xmm6, xmm2
addss xmm6, dword [esp + 0x184]
movss xmm2, dword [esp + 0x5c]
addss xmm2, dword [esp + 0x44]
addss xmm2, dword [esp + 0x90]
addss xmm2, dword [esp + 0x94]
addss xmm2, dword [esp + 0x154]
lea eax, [edx + eax*4]
movss dword [esp + 0x14], xmm6
movss xmm6, dword [esp + 0x54]
addss xmm6, dword [esp + 0x48]
addss xmm6, dword [esp + 0x40]
addss xmm6, xmm3
movss xmm3, dword [esp + 0x78]
addss xmm3, dword [esp + 0x70]
addss xmm3, dword [esp + 0x8c]
addss xmm6, dword [esp + 0x124]
addss xmm3, dword [esp + 0x7c]
addss xmm3, dword [esp + 0x11c]
addss xmm7, xmm4
addss xmm7, dword [esp + 0x88]
movss dword [esp + 0x18], xmm6
addss xmm7, dword [esp + 0x74]
mov edx, dword [esp + 0x174]
movss xmm6, dword [edx]
addss xmm7, xmm6
movss xmm6, dword [esp + 0x14]
addss xmm7, xmm3
addss xmm7, xmm2
addss xmm7, dword [esp + 0x18]
addss xmm7, xmm6
subss xmm6, dword [esp + 0x18]
movss dword [esp + 0x58], xmm6
movss dword [esi - 8], xmm7
movaps xmm7, xmm2
mulss xmm7, xmm1
addss xmm7, xmm6
movaps xmm6, xmm3
mulss xmm6, xmm1
subss xmm7, xmm6
movaps xmm6, xmm3
addss xmm6, xmm2
mulss xmm6, dword [0x100867f0]
addss xmm6, dword [esp + 0x18]
addss xmm6, dword [esp + 0x14]
mulss xmm3, xmm0
mulss xmm2, xmm0
addss xmm2, dword [esp + 0x58]
subss xmm2, xmm3
movss xmm3, dword [esp + 0x84]
addss xmm3, dword [esp + 0x80]
addss xmm3, dword [esp + 0x30]
addss xmm3, dword [esp + 0x38]
addss xmm3, dword [esp + 0x114]
addss xmm2, xmm3
movss xmm3, dword [esp + 0x68]
subss xmm3, dword [esp + 0x3c]
movss dword [esp + 0x18c], xmm3
movss dword [esi - 4], xmm7
movss dword [esi], xmm6
movss dword [esi + 4], xmm2
movss xmm6, dword [esp + 0x7c]
subss xmm6, dword [esp + 0x8c]
movaps xmm2, xmm5
mulss xmm2, xmm1
addss xmm2, xmm3
movss xmm3, dword [esp + 0x4c]
mulss xmm3, xmm1
subss xmm2, xmm3
movss xmm3, dword [esp + 0x64]
subss xmm3, dword [esp + 0x40]
movss dword [esp + 0x14], xmm2
movss xmm2, dword [esp + 0x48]
movss dword [esp + 0x144], xmm3
mulss xmm2, xmm1
addss xmm2, xmm3
movss xmm3, dword [esp + 0x54]
mulss xmm3, xmm1
subss xmm2, xmm3
movss xmm3, dword [esp + 0x94]
subss xmm3, dword [esp + 0x90]
movss dword [esp + 0x18], xmm2
movss xmm2, dword [esp + 0x44]
movss dword [esp + 0x16c], xmm3
mulss xmm2, xmm1
addss xmm2, xmm3
movss xmm3, dword [esp + 0x5c]
mulss xmm3, xmm1
subss xmm2, xmm3
movss xmm3, dword [esp + 0x70]
movss dword [esp + 0xf4], xmm6
mulss xmm3, xmm1
addss xmm3, xmm6
movss xmm6, dword [esp + 0x78]
mulss xmm6, xmm1
subss xmm3, xmm6
movss xmm6, dword [esp + 0x74]
subss xmm6, dword [esp + 0x88]
movaps xmm7, xmm4
mulss xmm7, xmm1
movss dword [esp + 0x14c], xmm6
addss xmm7, xmm6
movss xmm6, dword [esp + 0x2c]
mulss xmm6, xmm1
subss xmm7, xmm6
movss xmm6, dword [esp + 0x14]
addss xmm7, xmm3
addss xmm7, xmm2
addss xmm7, dword [esp + 0x18]
addss xmm7, xmm6
subss xmm6, dword [esp + 0x18]
movss dword [esi + 8], xmm7
movaps xmm7, xmm2
mulss xmm7, xmm1
addss xmm7, xmm6
movss dword [esp + 0x58], xmm6
movaps xmm6, xmm3
mulss xmm6, xmm1
subss xmm7, xmm6
movss dword [esi + 0xc], xmm7
movss xmm7, dword [esp + 0x80]
mulss xmm7, xmm1
movaps xmm6, xmm3
addss xmm6, xmm2
mulss xmm6, dword [0x100867f0]
addss xmm6, dword [esp + 0x18]
addss xmm6, dword [esp + 0x14]
mulss xmm2, xmm0
addss xmm2, dword [esp + 0x58]
movss dword [esi + 0x10], xmm6
movss xmm6, dword [esp + 0x38]
subss xmm6, dword [esp + 0x30]
addss xmm7, xmm6
movss dword [esp + 0xec], xmm6
movss xmm6, dword [esp + 0x84]
mulss xmm6, xmm1
subss xmm7, xmm6
movss xmm6, dword [0x100867f0]
mulss xmm3, xmm0
subss xmm2, xmm3
addss xmm7, xmm2
movss xmm2, dword [esp + 0x4c]
movss xmm3, dword [esp + 0x78]
addss xmm3, dword [esp + 0x70]
addss xmm2, xmm5
mulss xmm2, xmm6
addss xmm2, dword [esp + 0x3c]
addss xmm2, dword [esp + 0x68]
movss dword [esp + 0x14], xmm2
movss xmm2, dword [esp + 0x54]
addss xmm2, dword [esp + 0x48]
movss dword [esi + 0x14], xmm7
movss xmm7, dword [esp + 0x2c]
mulss xmm2, xmm6
addss xmm2, dword [esp + 0x40]
addss xmm2, dword [esp + 0x64]
addss xmm7, xmm4
mulss xmm7, xmm6
addss xmm7, dword [esp + 0x88]
addss xmm7, dword [esp + 0x74]
movss dword [esp + 0x18], xmm2
movss xmm2, dword [esp + 0x5c]
addss xmm2, dword [esp + 0x44]
mulss xmm3, xmm6
addss xmm3, dword [esp + 0x8c]
addss xmm3, dword [esp + 0x7c]
mulss xmm2, xmm6
addss xmm2, dword [esp + 0x90]
addss xmm2, dword [esp + 0x94]
movss xmm6, dword [esp + 0x14]
addss xmm7, xmm3
addss xmm7, xmm2
addss xmm7, dword [esp + 0x18]
addss xmm7, xmm6
subss xmm6, dword [esp + 0x18]
movss dword [esi + 0x18], xmm7
movaps xmm7, xmm2
mulss xmm7, xmm1
addss xmm7, xmm6
movss dword [esp + 0x58], xmm6
movaps xmm6, xmm3
mulss xmm6, xmm1
subss xmm7, xmm6
movss dword [esi + 0x1c], xmm7
movaps xmm6, xmm3
addss xmm6, xmm2
mulss xmm6, dword [0x100867f0]
addss xmm6, dword [esp + 0x18]
addss xmm6, dword [esp + 0x14]
mulss xmm3, xmm0
mulss xmm2, xmm0
addss xmm2, dword [esp + 0x58]
subss xmm2, xmm3
movss xmm3, dword [esp + 0x80]
movss dword [esi + 0x20], xmm6
movss xmm6, dword [esp + 0x84]
addss xmm6, xmm3
mulss xmm6, dword [0x100867f0]
addss xmm6, dword [esp + 0x30]
addss xmm6, dword [esp + 0x38]
addss xmm2, xmm6
movss xmm6, dword [esp + 0x54]
movss dword [esi + 0x24], xmm2
movss xmm2, dword [esp + 0x2c]
mulss xmm2, xmm0
mulss xmm4, xmm0
addss xmm4, dword [esp + 0x14c]
subss xmm4, xmm2
movss xmm2, dword [esp + 0x4c]
addss xmm4, dword [esp + 0x10c]
mulss xmm2, xmm0
mulss xmm5, xmm0
addss xmm5, dword [esp + 0x18c]
subss xmm5, xmm2
movss xmm2, dword [esp + 0x48]
addss xmm5, dword [esp + 0x104]
mulss xmm2, xmm0
addss xmm2, dword [esp + 0x144]
mulss xmm6, xmm0
subss xmm2, xmm6
addss xmm2, dword [esp + 0xfc]
movss xmm6, dword [esp + 0x5c]
movaps xmm7, xmm2
movss xmm2, dword [esp + 0x44]
mulss xmm3, xmm0
addss xmm3, dword [esp + 0xec]
mulss xmm6, xmm0
movss dword [esp + 0xe4], xmm4
movss xmm4, dword [esp + 0x78]
mulss xmm2, xmm0
addss xmm2, dword [esp + 0x16c]
subss xmm2, xmm6
movss xmm6, dword [esp + 0x70]
addss xmm2, dword [esp + 0xc8]
mulss xmm4, xmm0
mulss xmm6, xmm0
addss xmm6, dword [esp + 0xf4]
subss xmm6, xmm4
movss xmm4, dword [esp + 0x84]
addss xmm6, dword [esp + 0x13c]
mulss xmm4, xmm0
subss xmm3, xmm4
addss xmm3, dword [esp + 0x17c]
movss dword [esp + 0x134], xmm3
movaps xmm3, xmm6
addss xmm3, xmm2
addss xmm3, xmm7
addss xmm3, xmm5
addss xmm3, dword [esp + 0xe4]
movss dword [esi + 0x28], xmm3
movss dword [esp + 0x18], xmm7
movaps xmm4, xmm5
subss xmm4, xmm7
movaps xmm3, xmm2
mulss xmm3, xmm1
addss xmm3, xmm4
movaps xmm7, xmm6
mulss xmm7, xmm1
subss xmm3, xmm7
movss dword [esi + 0x2c], xmm3
movaps xmm3, xmm6
addss xmm3, xmm2
mulss xmm3, dword [0x100867f0]
addss xmm3, dword [esp + 0x18]
addss xmm3, xmm5
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0x98]
mulss xmm2, xmm0
addss xmm2, xmm4
add eax, eax
mulss xmm6, xmm0
movss dword [esi + 0x30], xmm3
subss xmm2, xmm6
addss xmm2, dword [esp + 0x134]
add eax, eax
movss dword [esi + 0x34], xmm2
inc ecx
add esi, eax
cmp ecx, ebx
jl 0x1002f4e0
mov eax, dword [esp + 0xdc]
mov esi, dword [esp + 0xb0]
inc ebp
add esi, eax
cmp ebp, edi
mov dword [esp + 0x60], ebp
mov dword [esp + 0xb0], esi
jl 0x1002f301
mov esi, dword [esp + 0x24c]
mov ecx, dword [esp + 0x258]
xor ebp, ebp
imul ecx, ecx
mov dword [esi], ebp
mov dword [esi + 4], ebp
mov dword [esi + 8], ebp
mov byte [esp + 0x244], 9
cmp ecx, ebp
je 0x1002ff21
cmp edi, ebp
je 0x1002ff21
mov eax, 0x7fffffff
cdq
idiv edi
cmp ecx, eax
setg al
test al, al
je 0x1002ff07
call fcn.100313a0
cmp edi, ebp
je 0x1002ff21
mov eax, 0x7fffffff
cdq
idiv edi
cmp ecx, eax
setg al
test al, al
je 0x1002ff21
call fcn.100313a0
push edi
push ecx
imul ecx, edi
push ecx
mov ecx, esi
call fcn.10031af0
xor eax, eax
cmp ebx, eax
mov dword [esp + 0x14], eax
jle 0x10030184
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xc0]
imul eax, ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x14]
cdq
idiv dword [esp + 0x194]
xor ebp, ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0xa0], edx
mov dword [esp + 0x6c], eax
nop
mov eax, ebp
cdq
and edx, 3
add eax, edx
mov edx, ebp
sar eax, 2
and edx, 0x80000003
jns 0x1002ff8a
dec edx
or edx, 0xfffffffc
inc edx
mov ecx, dword [esp + 0x6c]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0xa0]
lea eax, [edx + eax*4]
cmp eax, dword [esp + 0x258]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x3c], eax
jge 0x10030156
cmp ecx, dword [esp + 0x258]
jge 0x10030156
xor eax, eax
cmp edi, 4
jl 0x100300e4
imul ecx, dword [esp + 0x258]
mov edx, dword [esp + 0x3c]
add ecx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x68]
shl ecx, 4
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x54]
lea edx, [ecx + ebp]
mov ecx, dword [esp + 0xb8]
lea edx, [ecx + edx*4]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
lea edx, [ecx + ebx*2]
mov ecx, dword [esp + 0xb8]
add edx, ebx
imul edx, dword [esp + 0xc0]
add edx, ebp
lea edx, [ecx + edx*4]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x48], edx
lea edx, [ecx + ebx*2]
imul edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb8]
add edx, ebp
lea edx, [ecx + edx*4]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x44]
add ebp, edx
lea ecx, [ecx + ebp*4]
mov dword [esp + 0x4c], ecx
mov edx, dword [esi + 8]
imul edx, dword [esp + 0x2c]
mov ecx, dword [esi]
mov ebp, dword [esp + 0x40]
add edx, eax
fld dword [ebp]
mov ebp, dword [esp + 0x4c]
fstp dword [ecx + edx*4]
mov edx, dword [esi + 8]
imul edx, dword [esp + 0x2c]
fld dword [ebp]
mov ecx, dword [esi]
add edx, eax
fstp dword [ecx + edx*4 + 4]
mov ecx, dword [esi + 8]
imul ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x98]
mov ebp, dword [esi]
add ecx, eax
fld dword [edx]
fstp dword [ebp + ecx*4 + 8]
mov ecx, dword [esi + 8]
imul ecx, dword [esp + 0x2c]
mov ebp, dword [esi]
add ecx, eax
lea ecx, [ebp + ecx*4 + 0xc]
mov ebp, dword [esp + 0x48]
add eax, 4
fld dword [ebp]
fstp dword [ecx]
mov ecx, dword [esp + 0x9c]
add dword [esp + 0x40], ecx
add dword [esp + 0x4c], ecx
add dword [esp + 0x48], ecx
add edx, ecx
lea ecx, [edi - 3]
cmp eax, ecx
mov dword [esp + 0x98], edx
jl 0x10030050
mov ecx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x64]
cmp eax, edi
jge 0x10030156
imul ecx, dword [esp + 0x258]
add ecx, dword [esp + 0x3c]
mov edx, eax
imul edx, ebx
add edx, dword [esp + 0x14]
mov dword [esp + 0x9c], ecx
imul edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb8]
add edx, ebp
lea edx, [ecx + edx*4]
mov dword [esp + 0x98], edx
mov ecx, dword [esi + 8]
imul ecx, dword [esp + 0x9c]
mov edx, dword [esi]
add ecx, eax
lea ecx, [edx + ecx*4]
mov edx, dword [esp + 0x98]
inc eax
fld dword [edx]
fstp dword [ecx]
mov ecx, dword [esp + 0x68]
add ecx, ecx
add ecx, ecx
add edx, ecx
cmp eax, edi
mov dword [esp + 0x98], edx
jl 0x10030123
inc ebp
cmp ebp, 0x10
mov dword [esp + 0x64], ebp
jl 0x1002ff70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc0]
add dword [esp + 0x54], ecx
add dword [esp + 0x44], ecx
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x1002ff52
mov eax, dword [esp + 0xb8]
push eax
call fcn.100671c0
mov ecx, dword [esp + 0x160]
push ecx
call fcn.100671c0
mov edx, dword [esp + 0x24]
push edx
call fcn.100671c0
mov eax, dword [esp + 0xb0]
push eax
call fcn.100671c0
add esp, 0x10
mov eax, esi
mov ecx, dword [esp + 0x23c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x234
ret 0x10