Function at 0x1001ef57
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 [0x102cf440]
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.10023ffe
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 [0x102bc2c0]
movss dword [ebp - 8], xmm0
mov dword [ebp - 0x10], 1
cmp edi, 1
jle 0x1001f07b
mov esi, dword [ebp - 0x10]
fld dword [ebp - 8]
movss xmm0, dword [edx + esi*4]
andps xmm0, xmmword [0x102bc2c0]
fucompi st(0)
movss dword [ebp - 0x48], xmm0
movss dword [ebp - 0x28], xmm0
lahf
movss dword [ebp - 0x50], xmm0
test ah, 0x44
jp 0x1001eff9
or dword [ebp - 0x10], 0xffffffff
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x3c], xmm0
jmp 0x1001effe
movss dword [ebp - 0x3c], xmm2
fld dword [ebp - 0x48]
fld dword [ebp - 0x28]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x1001f01e
or dword [ebp - 0x10], 0xffffffff
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x38], xmm0
jmp 0x1001f023
movss dword [ebp - 0x38], xmm2
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 8]
push eax
call fcn.1001f966
movss xmm0, dword [ebp - 0x38]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
pop ecx
pop ecx
fstp dword [ebp - 0x10]
lahf
test ah, 0x44
jp 0x1001f04d
movss xmm0, dword [ebp - 0x48]
jmp 0x1001f052
movss xmm0, dword [ebp - 0x10]
movss xmm1, dword [ebp - 0x3c]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x1001f067
movss dword [ebp - 8], xmm0
jmp 0x1001f06c
movss xmm0, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
inc esi
cmp esi, edi
jl 0x1001efc3
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 0x1001f18e
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 0x1001f17a
mov edi, eax
fld dword [ebp - 8]
movss xmm0, dword [edi]
andps xmm0, xmmword [0x102bc2c0]
fucompi st(0)
movss dword [ebp - 0x48], xmm0
movss dword [ebp - 0x30], xmm0
lahf
movss dword [ebp - 0x34], xmm0
test ah, 0x44
jp 0x1001f0e7
or dword [ebp - 0x3c], 0xffffffff
movss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x38], xmm0
jmp 0x1001f0ec
movss dword [ebp - 0x38], xmm2
fld dword [ebp - 0x48]
fld dword [ebp - 0x30]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x1001f10c
or dword [ebp - 0x30], 0xffffffff
movss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x3c], xmm0
jmp 0x1001f111
movss dword [ebp - 0x3c], xmm2
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 8]
push eax
call fcn.1001f966
movss xmm0, dword [ebp - 0x3c]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
pop ecx
pop ecx
fstp dword [ebp - 0x30]
lahf
test ah, 0x44
jp 0x1001f13b
movss xmm0, dword [ebp - 0x48]
jmp 0x1001f140
movss xmm0, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x38]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x1001f155
movss dword [ebp - 8], xmm0
jmp 0x1001f15a
movss xmm0, dword [ebp - 8]
mov ecx, dword [ebp - 0x44]
add edi, 4
inc ecx
mov dword [ebp - 0x44], ecx
cmp ecx, esi
jl 0x1001f0b2
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 0x1001f0a4
mov esi, dword [ebp - 0x20]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
push ecx
fstp dword [esp]
call fcn.10223b8a
pop ecx
test ax, ax
jle 0x1001f1b1
mov dword [esi + 0x20], 3
jmp 0x1001f945
movss xmm0, dword [ebp - 8]
ucomiss xmm0, dword [0x102bc098]
lahf
test ah, 0x44
jp 0x1001f1cb
movss xmm0, dword [0x102bc0f8]
mov eax, dword [esi + 0x34]
movss dword [ebp - 0x44], xmm0
cmp eax, dword [esi + 0x38]
je 0x1001f272
mov eax, dword [ebp - 0xc]
lea ecx, [esi + 0x10c]
movss dword [ebp - 0x14], xmm0
cmp dword [ecx + 4], eax
jne 0x1001f1f4
cmp dword [ecx + 8], edi
je 0x1001f224
test eax, eax
je 0x1001f213
test edi, edi
je 0x1001f213
mov eax, 0x7fffffff
cdq
idiv edi
mov edx, dword [ebx + 8]
cmp dword [edx + 4], eax
jg 0x1001f960
mov eax, dword [ebp - 0xc]
push edi
imul edi, eax
push eax
push edi
call fcn.10016f9e
lea ecx, [esi + 0x10c]
mov eax, dword [ecx + 8]
imul eax, dword [ecx + 4]
mov edx, dword [ecx]
test eax, eax
jle 0x1001f24a
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 0x1001f239
fstp st(0)
lea eax, [esi + 0x10c]
push eax
push esi
lea ecx, [esi + 0x50]
call fcn.10023971
lea eax, [esi + 0x10c]
push eax
push esi
lea ecx, [esi + 0xb4]
call fcn.10023753
jmp 0x1001f527
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 0x1001f295
cmp dword [edi + 8], ecx
je 0x1001f2b9
test ecx, ecx
je 0x1001f2a9
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ecx, eax
jg 0x1001f960
push ecx
push ecx
imul ecx, ecx
push ecx
mov ecx, edi
call fcn.10016f9e
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 0x1001f32a
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 0x1001f310
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 0x1001f2f1
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 0x1001f2e2
mov esi, dword [ebp - 0x20]
fstp st(0)
cmp byte [esi + 0x27], 0
je 0x1001f3a0
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x1001f347
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ecx, eax
jg 0x1001f960
push ecx
push ecx
imul ecx, ecx
push ecx
mov ecx, esi
call fcn.10016f9e
mov edi, dword [esi]
xor edx, edx
mov eax, dword [esi + 4]
mov dword [ebp - 0x10], edi
cmp dword [esi + 8], edx
jle 0x1001f3a0
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x1001f394
cmp ecx, edx
jne 0x1001f37f
movss xmm0, dword [0x102bc0f8]
jmp 0x1001f382
xorps xmm0, xmm0
movss dword [edi], xmm0
inc ecx
mov eax, dword [esi + 4]
add edi, 4
cmp ecx, eax
jl 0x1001f371
mov edi, dword [ebp - 0x10]
add edi, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x10], edi
cmp edx, dword [esi + 8]
jl 0x1001f36b
cmp byte [esi + 0x28], 0
je 0x1001f41d
mov ecx, dword [esi + 0x34]
mov edi, dword [esi + 0x3c]
test ecx, ecx
je 0x1001f3c4
test edi, edi
je 0x1001f3c4
mov eax, 0x7fffffff
cdq
idiv edi
cmp ecx, eax
jg 0x1001f960
push edi
push ecx
imul ecx, edi
push ecx
mov ecx, esi
call fcn.10016f9e
mov edi, dword [esi]
xor edx, edx
mov eax, dword [esi + 4]
mov dword [ebp - 0x10], edi
cmp dword [esi + 8], edx
jle 0x1001f41d
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x1001f411
cmp ecx, edx
jne 0x1001f3fc
movss xmm0, dword [0x102bc0f8]
jmp 0x1001f3ff
xorps xmm0, xmm0
movss dword [edi], xmm0
inc ecx
mov eax, dword [esi + 4]
add edi, 4
cmp ecx, eax
jl 0x1001f3ee
mov edi, dword [ebp - 0x10]
add edi, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x10], edi
cmp edx, dword [esi + 8]
jl 0x1001f3e8
cmp byte [esi + 0x29], 0
je 0x1001f499
mov ecx, dword [esi + 0x38]
lea edi, [esi + 0xc]
test ecx, ecx
je 0x1001f43d
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ecx, eax
jg 0x1001f960
push ecx
push ecx
imul ecx, ecx
push ecx
mov ecx, edi
call fcn.10016f9e
mov eax, dword [edi]
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
cmp dword [edi + 8], edx
jle 0x1001f499
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x1001f48a
mov esi, dword [ebp - 0x18]
cmp ecx, edx
jne 0x1001f478
movss xmm0, dword [0x102bc0f8]
jmp 0x1001f47b
xorps xmm0, xmm0
movss dword [esi], xmm0
inc ecx
mov eax, dword [edi + 4]
add esi, 4
cmp ecx, eax
jl 0x1001f46a
mov ecx, dword [ebp - 0x14]
inc edx
add dword [ebp - 0x18], ecx
cmp edx, dword [edi + 8]
jl 0x1001f461
mov esi, dword [ebp - 0x20]
cmp byte [esi + 0x2a], 0
je 0x1001f527
mov ecx, dword [esi + 0x38]
lea edi, [esi + 0xc]
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x14], eax
test ecx, ecx
je 0x1001f4cb
test eax, eax
je 0x1001f4cb
mov eax, 0x7fffffff
cdq
idiv dword [ebp - 0x14]
cmp ecx, eax
jg 0x1001f960
mov eax, dword [esi + 0x3c]
push eax
push ecx
imul ecx, eax
push ecx
mov ecx, edi
call fcn.10016f9e
mov eax, dword [edi]
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
cmp dword [edi + 8], edx
jle 0x1001f527
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x1001f518
mov esi, dword [ebp - 0x18]
cmp ecx, edx
jne 0x1001f506
movss xmm0, dword [0x102bc0f8]
jmp 0x1001f509
xorps xmm0, xmm0
movss dword [esi], xmm0
inc ecx
mov eax, dword [edi + 4]
add esi, 4
cmp ecx, eax
jl 0x1001f4f8
mov ecx, dword [ebp - 0x14]
inc edx
add dword [ebp - 0x18], ecx
cmp edx, dword [edi + 8]
jl 0x1001f4ef
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.10023612
mov esi, dword [ebp - 0x20]
fstp dword [ebp - 0xc]
fld qword [0x102bc0e8]
fld qword [0x102bc0a0]
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 0x1001f75e
xor ecx, ecx
mov dword [ebp - 8], ecx
test edi, edi
jle 0x1001f748
jmp 0x1001f582
fxch st(2)
fxch st(1)
fmulp st(2)
fxch st(1)
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fcompi st(1)
jbe 0x1001f59c
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x10], xmm0
jmp 0x1001f5a3
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 0x1001f5e7
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 0x1001f5e9
fld dword [ebp - 0xc]
jmp 0x1001f72a
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.10025055
mov eax, dword [esi + 0x44]
add esp, 0xc
movss xmm2, dword [ebp - 0x54]
ucomiss xmm2, dword [0x102bc0f8]
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 0x1001f644
ucomiss xmm1, dword [0x102bc098]
lahf
test ah, 0x44
jnp 0x1001f668
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.1002d414
mov ecx, dword [ebp - 8]
add esp, 0x14
cmp byte [esi + 0x27], 0
jne 0x1001f674
cmp byte [esi + 0x28], 0
je 0x1001f692
xorps xmm1, xmmword [0x102bc2d0]
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.100251ff
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 8]
lea ecx, [esi + 0x44]
push edi
call fcn.100251ff
cmp byte [esi + 0x29], 0
jne 0x1001f6ae
cmp byte [esi + 0x2a], 0
je 0x1001f6be
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 8]
lea ecx, [esi + 0xc]
push edi
call fcn.100251ff
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 0x1001f6f7
movss xmm0, dword [ebp - 0x10]
jmp 0x1001f6fc
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 0x1001f712
movss xmm0, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
movss dword [ebp - 0xc], xmm0
fld dword [ebp - 0xc]
fld qword [0x102bc0a0]
fxch st(1)
movss dword [ebp - 0x18], xmm0
fld qword [0x102bc0e8]
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, edi
jl 0x1001f57e
fstp st(0)
fld qword [0x102bc0e8]
fxch st(2)
fxch st(1)
mov eax, dword [esi + 0x3c]
inc edi
cmp edi, eax
jl 0x1001f56f
cmp byte [ebp - 0x19], 0
je 0x1001f55d
fstp st(0)
xor edx, edx
fstp st(1)
fstp st(0)
test eax, eax
jle 0x1001f7ce
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 [0x102bc2c0]
movss dword [eax + edx*4], xmm0
cmp byte [esi + 0x27], 0
jne 0x1001f797
cmp byte [esi + 0x28], 0
je 0x1001f7c8
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1001f7c8
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 0x1001f7c8
movss xmm0, dword [ecx + eax*4]
xorps xmm0, xmmword [0x102bc2d0]
movss dword [ecx + eax*4], xmm0
inc eax
cmp eax, edi
jl 0x1001f7b2
inc edx
cmp edx, dword [esi + 0x3c]
jl 0x1001f76a
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov edx, dword [esi + 0x18]
test ecx, ecx
jle 0x1001f7ec
fld dword [ebp - 0x44]
fld dword [edx + eax*4]
fmul st(1)
fstp dword [edx + eax*4]
inc eax
cmp eax, ecx
jl 0x1001f7dd
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 0x1001f945
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.1002dede
movss xmm0, dword [ebp - 0x50]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001f942
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x1001f92e
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 0x1001f88d
cmp byte [esi + 0x28], 0
jne 0x1001f88d
xor al, al
jmp 0x1001f88f
mov al, 1
test al, al
je 0x1001f8da
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 0x1001f8da
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 0x1001f8bf
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
cmp byte [esi + 0x29], 0
jne 0x1001f8ea
cmp byte [esi + 0x2a], 0
jne 0x1001f8ea
xor al, al
jmp 0x1001f8ec
mov al, 1
test al, al
je 0x1001f92e
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 0x1001f92e
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 0x1001f916
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 0x1001f805
jmp 0x1001f945
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.101eafcd
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
call fcn.10002301
int3