Function at 0x10025322
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x100ef900]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebx + 8]
mov esi, ecx
push ecx
mov dword [ebp - 0x20], esi
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002acd5
mov edx, dword [edi]
xorps xmm2, xmm2
mov edi, dword [edi + 4]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0xc], edi
movss xmm0, dword [edx]
andps xmm0, xmmword [0x100e1910]
movss dword [ebp - 8], xmm0
mov dword [ebp - 0x10], 1
cmp edi, 1
jle 0x10025446
mov esi, dword [ebp - 0x10]
fld dword [ebp - 8]
movss xmm0, dword [edx + esi*4]
andps xmm0, xmmword [0x100e1910]
fucompi st(0)
movss dword [ebp - 0x48], xmm0
movss dword [ebp - 0x28], xmm0
lahf
movss dword [ebp - 0x50], xmm0
test ah, 0x44
jp 0x100253c4
or dword [ebp - 0x10], 0xffffffff
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x3c], xmm0
jmp 0x100253c9
movss dword [ebp - 0x3c], xmm2
fld dword [ebp - 0x48]
fld dword [ebp - 0x28]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x100253e9
or dword [ebp - 0x10], 0xffffffff
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x38], xmm0
jmp 0x100253ee
movss dword [ebp - 0x38], xmm2
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 8]
push eax
call fcn.10025e6a
movss xmm0, dword [ebp - 0x38]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
pop ecx
pop ecx
fstp dword [ebp - 0x10]
lahf
test ah, 0x44
jp 0x10025418
movss xmm0, dword [ebp - 0x48]
jmp 0x1002541d
movss xmm0, dword [ebp - 0x10]
movss xmm1, dword [ebp - 0x3c]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x10025432
movss dword [ebp - 8], xmm0
jmp 0x10025437
movss xmm0, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
inc esi
cmp esi, edi
jl 0x1002538e
mov esi, dword [ebp - 0x20]
mov eax, dword [ebx + 8]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
mov edi, dword [eax + 8]
mov dword [ebp - 0x14], edi
cmp edi, ecx
jle 0x10025559
mov esi, dword [ebp - 0xc]
mov eax, esi
shl eax, 2
add eax, edx
mov edx, esi
mov dword [ebp - 0x10], eax
shl edx, 2
and dword [ebp - 0x44], 0
test esi, esi
jle 0x10025545
mov edi, eax
fld dword [ebp - 8]
movss xmm0, dword [edi]
andps xmm0, xmmword [0x100e1910]
fucompi st(0)
movss dword [ebp - 0x48], xmm0
movss dword [ebp - 0x30], xmm0
lahf
movss dword [ebp - 0x34], xmm0
test ah, 0x44
jp 0x100254b2
or dword [ebp - 0x3c], 0xffffffff
movss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x38], xmm0
jmp 0x100254b7
movss dword [ebp - 0x38], xmm2
fld dword [ebp - 0x48]
fld dword [ebp - 0x30]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x100254d7
or dword [ebp - 0x30], 0xffffffff
movss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x3c], xmm0
jmp 0x100254dc
movss dword [ebp - 0x3c], xmm2
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 8]
push eax
call fcn.10025e6a
movss xmm0, dword [ebp - 0x3c]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
pop ecx
pop ecx
fstp dword [ebp - 0x30]
lahf
test ah, 0x44
jp 0x10025506
movss xmm0, dword [ebp - 0x48]
jmp 0x1002550b
movss xmm0, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x38]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x10025520
movss dword [ebp - 8], xmm0
jmp 0x10025525
movss xmm0, dword [ebp - 8]
mov ecx, dword [ebp - 0x44]
add edi, 4
inc ecx
mov dword [ebp - 0x44], ecx
cmp ecx, esi
jl 0x1002547d
mov edi, dword [ebp - 0x14]
mov edx, esi
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
shl edx, 2
inc ecx
add eax, edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x10], eax
cmp ecx, edi
jl 0x1002546f
mov esi, dword [ebp - 0x20]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
push ecx
fstp dword [esp]
call fcn.1007f249
pop ecx
test ax, ax
jle 0x1002557c
mov dword [esi + 0x20], 3
jmp 0x10025d10
movss xmm0, dword [ebp - 8]
ucomiss xmm0, dword [0x100e171c]
lahf
test ah, 0x44
jp 0x10025596
movss xmm0, dword [0x100e1780]
mov eax, dword [esi + 0x34]
movss dword [ebp - 0x44], xmm0
cmp eax, dword [esi + 0x38]
je 0x1002563d
mov eax, dword [ebp - 0xc]
lea ecx, [esi + 0x10c]
movss dword [ebp - 0x14], xmm0
cmp dword [ecx + 4], eax
jne 0x100255bf
cmp dword [ecx + 8], edi
je 0x100255ef
test eax, eax
je 0x100255de
test edi, edi
je 0x100255de
mov eax, 0x7fffffff
cdq
idiv edi
mov edx, dword [ebx + 8]
cmp dword [edx + 4], eax
jg 0x10025d2b
mov eax, dword [ebp - 0xc]
push edi
imul edi, eax
push eax
push edi
call fcn.100190a0
lea ecx, [esi + 0x10c]
mov eax, dword [ecx + 8]
imul eax, dword [ecx + 4]
mov edx, dword [ecx]
test eax, eax
jle 0x10025615
mov ecx, dword [ebp - 0x18]
fld dword [ebp - 0x14]
sub ecx, edx
fld dword [ecx + edx]
fdiv st(1)
fstp dword [edx]
add edx, 4
sub eax, 1
jne 0x10025604
fstp st(0)
lea eax, [esi + 0x10c]
push eax
push esi
lea ecx, [esi + 0x50]
call fcn.1002a648
lea eax, [esi + 0x10c]
push eax
push esi
lea ecx, [esi + 0xb4]
call fcn.1002a42a
jmp 0x100258f2
mov eax, dword [ebx + 8]
lea edi, [esi + 0x44]
mov ecx, dword [esi + 0x3c]
movss dword [ebp - 0x34], xmm0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x14], eax
cmp dword [edi + 4], ecx
jne 0x10025660
cmp dword [edi + 8], ecx
je 0x10025684
test ecx, ecx
je 0x10025674
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ecx, eax
jg 0x10025d2b
push ecx
push ecx
imul ecx, ecx
push ecx
mov ecx, edi
call fcn.100190a0
mov edx, dword [ebp - 0xc]
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x10], ecx
cmp dword [edi + 8], ecx
jle 0x100256f5
mov esi, dword [ebp - 0x14]
fld dword [ebp - 0x34]
shl esi, 2
mov dword [ebp - 0x50], esi
mov esi, eax
shl esi, 2
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x18]
and dword [ebp - 0x14], 0
test eax, eax
jle 0x100256db
mov ecx, esi
fld st(0)
mov esi, dword [ebp - 0x14]
fld dword [edx]
inc esi
fdiv st(1)
add edx, 4
fstp dword [ecx]
mov eax, dword [edi + 4]
add ecx, 4
cmp esi, eax
jl 0x100256bc
mov ecx, dword [ebp - 0x10]
fstp st(0)
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0xc]
add esi, dword [ebp - 0x30]
inc ecx
add edx, dword [ebp - 0x50]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0xc], edx
cmp ecx, dword [edi + 8]
jl 0x100256ad
mov esi, dword [ebp - 0x20]
fstp st(0)
cmp byte [esi + 0x27], 0
je 0x1002576b
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x10025712
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ecx, eax
jg 0x10025d2b
push ecx
push ecx
imul ecx, ecx
push ecx
mov ecx, esi
call fcn.100190a0
mov edi, dword [esi]
xor edx, edx
mov eax, dword [esi + 4]
mov dword [ebp - 0x10], edi
cmp dword [esi + 8], edx
jle 0x1002576b
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x1002575f
cmp ecx, edx
jne 0x1002574a
movss xmm0, dword [0x100e1780]
jmp 0x1002574d
xorps xmm0, xmm0
movss dword [edi], xmm0
inc ecx
mov eax, dword [esi + 4]
add edi, 4
cmp ecx, eax
jl 0x1002573c
mov edi, dword [ebp - 0x10]
add edi, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x10], edi
cmp edx, dword [esi + 8]
jl 0x10025736
cmp byte [esi + 0x28], 0
je 0x100257e8
mov ecx, dword [esi + 0x34]
mov edi, dword [esi + 0x3c]
test ecx, ecx
je 0x1002578f
test edi, edi
je 0x1002578f
mov eax, 0x7fffffff
cdq
idiv edi
cmp ecx, eax
jg 0x10025d2b
push edi
push ecx
imul ecx, edi
push ecx
mov ecx, esi
call fcn.100190a0
mov edi, dword [esi]
xor edx, edx
mov eax, dword [esi + 4]
mov dword [ebp - 0x10], edi
cmp dword [esi + 8], edx
jle 0x100257e8
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x100257dc
cmp ecx, edx
jne 0x100257c7
movss xmm0, dword [0x100e1780]
jmp 0x100257ca
xorps xmm0, xmm0
movss dword [edi], xmm0
inc ecx
mov eax, dword [esi + 4]
add edi, 4
cmp ecx, eax
jl 0x100257b9
mov edi, dword [ebp - 0x10]
add edi, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x10], edi
cmp edx, dword [esi + 8]
jl 0x100257b3
cmp byte [esi + 0x29], 0
je 0x10025864
mov ecx, dword [esi + 0x38]
lea edi, [esi + 0xc]
test ecx, ecx
je 0x10025808
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ecx, eax
jg 0x10025d2b
push ecx
push ecx
imul ecx, ecx
push ecx
mov ecx, edi
call fcn.100190a0
mov eax, dword [edi]
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
cmp dword [edi + 8], edx
jle 0x10025864
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x10025855
mov esi, dword [ebp - 0x18]
cmp ecx, edx
jne 0x10025843
movss xmm0, dword [0x100e1780]
jmp 0x10025846
xorps xmm0, xmm0
movss dword [esi], xmm0
inc ecx
mov eax, dword [edi + 4]
add esi, 4
cmp ecx, eax
jl 0x10025835
mov ecx, dword [ebp - 0x14]
inc edx
add dword [ebp - 0x18], ecx
cmp edx, dword [edi + 8]
jl 0x1002582c
mov esi, dword [ebp - 0x20]
cmp byte [esi + 0x2a], 0
je 0x100258f2
mov ecx, dword [esi + 0x38]
lea edi, [esi + 0xc]
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x14], eax
test ecx, ecx
je 0x10025896
test eax, eax
je 0x10025896
mov eax, 0x7fffffff
cdq
idiv dword [ebp - 0x14]
cmp ecx, eax
jg 0x10025d2b
mov eax, dword [esi + 0x3c]
push eax
push ecx
imul ecx, eax
push ecx
mov ecx, edi
call fcn.100190a0
mov eax, dword [edi]
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
cmp dword [edi + 8], edx
jle 0x100258f2
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x100258e3
mov esi, dword [ebp - 0x18]
cmp ecx, edx
jne 0x100258d1
movss xmm0, dword [0x100e1780]
jmp 0x100258d4
xorps xmm0, xmm0
movss dword [esi], xmm0
inc ecx
mov eax, dword [edi + 4]
add esi, 4
cmp ecx, eax
jl 0x100258c3
mov ecx, dword [ebp - 0x14]
inc edx
add dword [ebp - 0x18], ecx
cmp edx, dword [edi + 8]
jl 0x100258ba
mov esi, dword [ebp - 0x20]
lea eax, [esi + 0x44]
mov dword [ebp - 0x64], eax
lea esi, [ebp - 0x68]
lea edi, [ebp - 0x5c]
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x5c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002a2e9
mov esi, dword [ebp - 0x20]
fstp dword [ebp - 0xc]
fld qword [0x100e1770]
fld qword [0x100e1728]
movss xmm0, dword [ebp - 0xc]
fld dword [ebp - 0xc]
movss dword [ebp - 0x18], xmm0
mov eax, dword [esi + 0x3c]
xor edi, edi
inc edi
mov byte [ebp - 0x19], 1
cmp eax, edi
jle 0x10025b29
xor ecx, ecx
mov dword [ebp - 8], ecx
test edi, edi
jle 0x10025b13
jmp 0x1002594d
fxch st(2)
fxch st(1)
fmulp st(2)
fxch st(1)
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fcompi st(1)
jbe 0x10025967
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x10], xmm0
jmp 0x1002596e
mov dword [ebp - 0x10], 0x800000
mov eax, dword [ebp - 0x64]
fld dword [ebp - 0x10]
mov edx, dword [eax + 4]
mov eax, edx
imul eax, ecx
mov ecx, dword [ebp - 0x64]
mov esi, dword [ecx]
add eax, edi
mov ecx, dword [ebp - 8]
fld dword [esi + eax*4]
mov esi, dword [ebp - 0x20]
fabs
fcompi st(1)
ja 0x100259b2
mov esi, dword [ebp - 0x64]
imul edx, edi
mov eax, dword [esi]
mov esi, dword [ebp - 0x20]
add edx, ecx
fld dword [eax + edx*4]
fabs
fcompi st(1)
fstp st(0)
ja 0x100259b4
fld dword [ebp - 0xc]
jmp 0x10025af5
fstp st(0)
lea eax, [ebp - 0x4c]
mov byte [ebp - 0x19], 0
push eax
lea eax, [ebp - 0x54]
mov edx, edi
push eax
push ecx
lea ecx, [esi + 0x44]
fstp st(0)
call fcn.1002bd2c
mov eax, dword [esi + 0x44]
add esp, 0xc
movss xmm2, dword [ebp - 0x54]
ucomiss xmm2, dword [0x100e1780]
mov edx, dword [esi + 0x48]
lea ecx, [eax + edi*4]
mov dword [ebp - 0x30], ecx
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 8]
movss xmm1, dword [ebp - 0x50]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x34], eax
lahf
test ah, 0x44
jp 0x10025a0f
ucomiss xmm1, dword [0x100e171c]
lahf
test ah, 0x44
jnp 0x10025a33
fld dword [ebp - 0x50]
push ecx
push ecx
mov ecx, dword [ebp - 0x30]
fstp dword [esp + 4]
fld dword [ebp - 0x54]
fstp dword [esp]
push dword [ebp - 0x14]
push edx
push dword [ebp - 0x34]
call fcn.100341e9
mov ecx, dword [ebp - 8]
add esp, 0x14
cmp byte [esi + 0x27], 0
jne 0x10025a3f
cmp byte [esi + 0x28], 0
je 0x10025a5d
xorps xmm1, xmmword [0x100e1920]
lea eax, [ebp - 0x40]
push eax
push ecx
push edi
mov ecx, esi
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0x3c], xmm1
call fcn.1002bed6
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 8]
lea ecx, [esi + 0x44]
push edi
call fcn.1002bed6
cmp byte [esi + 0x29], 0
jne 0x10025a79
cmp byte [esi + 0x2a], 0
je 0x10025a89
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 8]
lea ecx, [esi + 0xc]
push edi
call fcn.1002bed6
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x44]
lea edx, [eax*4 + 4]
mov eax, edx
imul edx, edi
imul eax, dword [ebp - 8]
fld dword [eax + ecx]
fabs
fstp dword [ebp - 0x10]
fld dword [edx + ecx]
fabs
fstp dword [ebp - 0x28]
fld dword [ebp - 0x28]
fld dword [ebp - 0x10]
fcompi st(1)
fstp st(0)
jbe 0x10025ac2
movss xmm0, dword [ebp - 0x10]
jmp 0x10025ac7
movss xmm0, dword [ebp - 0x28]
fld dword [ebp - 0xc]
movss dword [ebp - 0x10], xmm0
fld dword [ebp - 0x10]
fcompi st(1)
fstp st(0)
ja 0x10025add
movss xmm0, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
movss dword [ebp - 0xc], xmm0
fld dword [ebp - 0xc]
fld qword [0x100e1728]
fxch st(1)
movss dword [ebp - 0x18], xmm0
fld qword [0x100e1770]
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, edi
jl 0x10025949
fstp st(0)
fld qword [0x100e1770]
fxch st(2)
fxch st(1)
mov eax, dword [esi + 0x3c]
inc edi
cmp edi, eax
jl 0x1002593a
cmp byte [ebp - 0x19], 0
je 0x10025928
fstp st(0)
xor edx, edx
fstp st(1)
fstp st(0)
test eax, eax
jle 0x10025b99
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
inc ecx
imul ecx, edx
movss xmm1, dword [eax + ecx*4]
mov eax, dword [esi + 0x18]
movaps xmm0, xmm1
andps xmm0, xmmword [0x100e1910]
movss dword [eax + edx*4], xmm0
cmp byte [esi + 0x27], 0
jne 0x10025b62
cmp byte [esi + 0x28], 0
je 0x10025b93
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x10025b93
mov edi, dword [esi + 4]
mov ecx, edi
mov eax, dword [esi]
imul ecx, edx
lea ecx, [eax + ecx*4]
xor eax, eax
test edi, edi
jle 0x10025b93
movss xmm0, dword [ecx + eax*4]
xorps xmm0, xmmword [0x100e1920]
movss dword [ecx + eax*4], xmm0
inc eax
cmp eax, edi
jl 0x10025b7d
inc edx
cmp edx, dword [esi + 0x3c]
jl 0x10025b35
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov edx, dword [esi + 0x18]
test ecx, ecx
jle 0x10025bb7
fld dword [ebp - 0x44]
fld dword [edx + eax*4]
fmul st(1)
fstp dword [edx + eax*4]
inc eax
cmp eax, ecx
jl 0x10025ba8
fstp st(0)
mov eax, dword [esi + 0x3c]
xor edi, edi
mov dword [esi + 0x30], eax
mov dword [ebp - 0x28], edi
test eax, eax
jle 0x10025d10
lea ecx, [esi + 0x18]
xorps xmm1, xmm1
mov edx, dword [ecx + 4]
sub eax, edi
or dword [ebp - 0x58], 0xffffffff
mov ecx, edx
or dword [ebp - 0x54], 0xffffffff
sub ecx, eax
and dword [ebp - 0x50], 0
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x6c], edx
lea eax, [eax + ecx*4]
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x84]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x80], eax
lea eax, [esi + 0x18]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x58]
push eax
call fcn.10034dbe
movss xmm0, dword [ebp - 0x50]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10025d0d
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x10025cf9
lea edx, [eax + edi]
mov eax, dword [esi + 0x18]
fld dword [eax + edx*4]
movss xmm0, dword [eax + edi*4]
fstp dword [eax + edi*4]
movss dword [eax + edx*4], xmm0
cmp byte [esi + 0x27], 0
jne 0x10025c58
cmp byte [esi + 0x28], 0
jne 0x10025c58
xor al, al
jmp 0x10025c5a
mov al, 1
test al, al
je 0x10025ca5
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ebp - 0x10], eax
imul eax, edx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x10]
imul eax, edi
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
xor eax, eax
test ecx, ecx
jle 0x10025ca5
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x34]
fld dword [esi + eax*4]
movss xmm0, dword [edi + eax*4]
fstp dword [edi + eax*4]
movss dword [esi + eax*4], xmm0
inc eax
cmp eax, ecx
jl 0x10025c8a
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
cmp byte [esi + 0x29], 0
jne 0x10025cb5
cmp byte [esi + 0x2a], 0
jne 0x10025cb5
xor al, al
jmp 0x10025cb7
mov al, 1
test al, al
je 0x10025cf9
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
imul edx, eax
mov dword [ebp - 0x14], eax
lea eax, [ecx + edx*4]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov eax, edi
imul eax, edx
lea ecx, [ecx + eax*4]
xor eax, eax
test edx, edx
jle 0x10025cf9
mov esi, dword [ebp - 0x34]
fld dword [ecx + eax*4]
movss xmm0, dword [esi + eax*4]
fstp dword [esi + eax*4]
movss dword [ecx + eax*4], xmm0
inc eax
cmp eax, edx
jl 0x10025ce1
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0x3c]
lea ecx, [esi + 0x18]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, eax
jl 0x10025bd0
jmp 0x10025d10
mov dword [esi + 0x30], edi
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
mov byte [esi + 0x24], 1
xor ecx, ebp
pop esi
call fcn.1006bae9
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
call fcn.10002288
int3