Function at 0x1001f5f3
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 [0x102d94c0]
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.10024697
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 [0x102c6350]
movss dword [ebp - 8], xmm0
mov dword [ebp - 0x10], 1
cmp edi, 1
jle 0x1001f717
mov esi, dword [ebp - 0x10]
fld dword [ebp - 8]
movss xmm0, dword [edx + esi*4]
andps xmm0, xmmword [0x102c6350]
fucompi st(0)
movss dword [ebp - 0x48], xmm0
movss dword [ebp - 0x28], xmm0
lahf
movss dword [ebp - 0x50], xmm0
test ah, 0x44
jp 0x1001f695
or dword [ebp - 0x10], 0xffffffff
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x3c], xmm0
jmp 0x1001f69a
movss dword [ebp - 0x3c], xmm2
fld dword [ebp - 0x48]
fld dword [ebp - 0x28]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x1001f6ba
or dword [ebp - 0x10], 0xffffffff
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x38], xmm0
jmp 0x1001f6bf
movss dword [ebp - 0x38], xmm2
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 8]
push eax
call fcn.1002014c
movss xmm0, dword [ebp - 0x38]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
pop ecx
pop ecx
fstp dword [ebp - 0x10]
lahf
test ah, 0x44
jp 0x1001f6e9
movss xmm0, dword [ebp - 0x48]
jmp 0x1001f6ee
movss xmm0, dword [ebp - 0x10]
movss xmm1, dword [ebp - 0x3c]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x1001f703
movss dword [ebp - 8], xmm0
jmp 0x1001f708
movss xmm0, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
inc esi
cmp esi, edi
jl 0x1001f65f
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 0x1001f82a
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 0x1001f816
mov edi, eax
fld dword [ebp - 8]
movss xmm0, dword [edi]
andps xmm0, xmmword [0x102c6350]
fucompi st(0)
movss dword [ebp - 0x48], xmm0
movss dword [ebp - 0x30], xmm0
lahf
movss dword [ebp - 0x34], xmm0
test ah, 0x44
jp 0x1001f783
or dword [ebp - 0x3c], 0xffffffff
movss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x38], xmm0
jmp 0x1001f788
movss dword [ebp - 0x38], xmm2
fld dword [ebp - 0x48]
fld dword [ebp - 0x30]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x1001f7a8
or dword [ebp - 0x30], 0xffffffff
movss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x3c], xmm0
jmp 0x1001f7ad
movss dword [ebp - 0x3c], xmm2
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 8]
push eax
call fcn.1002014c
movss xmm0, dword [ebp - 0x3c]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
pop ecx
pop ecx
fstp dword [ebp - 0x30]
lahf
test ah, 0x44
jp 0x1001f7d7
movss xmm0, dword [ebp - 0x48]
jmp 0x1001f7dc
movss xmm0, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x38]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x1001f7f1
movss dword [ebp - 8], xmm0
jmp 0x1001f7f6
movss xmm0, dword [ebp - 8]
mov ecx, dword [ebp - 0x44]
add edi, 4
inc ecx
mov dword [ebp - 0x44], ecx
cmp ecx, esi
jl 0x1001f74e
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 0x1001f740
mov esi, dword [ebp - 0x20]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
push ecx
fstp dword [esp]
call fcn.1022d3da
pop ecx
test ax, ax
jle 0x1001f84d
mov dword [esi + 0x20], 3
jmp 0x1001ffe1
movss xmm0, dword [ebp - 8]
ucomiss xmm0, dword [0x102c6124]
lahf
test ah, 0x44
jp 0x1001f867
movss xmm0, dword [0x102c6188]
mov eax, dword [esi + 0x34]
movss dword [ebp - 0x44], xmm0
cmp eax, dword [esi + 0x38]
je 0x1001f90e
mov eax, dword [ebp - 0xc]
lea ecx, [esi + 0x10c]
movss dword [ebp - 0x14], xmm0
cmp dword [ecx + 4], eax
jne 0x1001f890
cmp dword [ecx + 8], edi
je 0x1001f8c0
test eax, eax
je 0x1001f8af
test edi, edi
je 0x1001f8af
mov eax, 0x7fffffff
cdq
idiv edi
mov edx, dword [ebx + 8]
cmp dword [edx + 4], eax
jg 0x1001fffc
mov eax, dword [ebp - 0xc]
push edi
imul edi, eax
push eax
push edi
call fcn.1001756c
lea ecx, [esi + 0x10c]
mov eax, dword [ecx + 8]
imul eax, dword [ecx + 4]
mov edx, dword [ecx]
test eax, eax
jle 0x1001f8e6
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 0x1001f8d5
fstp st(0)
lea eax, [esi + 0x10c]
push eax
push esi
lea ecx, [esi + 0x50]
call fcn.1002400a
lea eax, [esi + 0x10c]
push eax
push esi
lea ecx, [esi + 0xb4]
call fcn.10023dec
jmp 0x1001fbc3
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 0x1001f931
cmp dword [edi + 8], ecx
je 0x1001f955
test ecx, ecx
je 0x1001f945
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ecx, eax
jg 0x1001fffc
push ecx
push ecx
imul ecx, ecx
push ecx
mov ecx, edi
call fcn.1001756c
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 0x1001f9c6
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 0x1001f9ac
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 0x1001f98d
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 0x1001f97e
mov esi, dword [ebp - 0x20]
fstp st(0)
cmp byte [esi + 0x27], 0
je 0x1001fa3c
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x1001f9e3
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ecx, eax
jg 0x1001fffc
push ecx
push ecx
imul ecx, ecx
push ecx
mov ecx, esi
call fcn.1001756c
mov edi, dword [esi]
xor edx, edx
mov eax, dword [esi + 4]
mov dword [ebp - 0x10], edi
cmp dword [esi + 8], edx
jle 0x1001fa3c
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x1001fa30
cmp ecx, edx
jne 0x1001fa1b
movss xmm0, dword [0x102c6188]
jmp 0x1001fa1e
xorps xmm0, xmm0
movss dword [edi], xmm0
inc ecx
mov eax, dword [esi + 4]
add edi, 4
cmp ecx, eax
jl 0x1001fa0d
mov edi, dword [ebp - 0x10]
add edi, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x10], edi
cmp edx, dword [esi + 8]
jl 0x1001fa07
cmp byte [esi + 0x28], 0
je 0x1001fab9
mov ecx, dword [esi + 0x34]
mov edi, dword [esi + 0x3c]
test ecx, ecx
je 0x1001fa60
test edi, edi
je 0x1001fa60
mov eax, 0x7fffffff
cdq
idiv edi
cmp ecx, eax
jg 0x1001fffc
push edi
push ecx
imul ecx, edi
push ecx
mov ecx, esi
call fcn.1001756c
mov edi, dword [esi]
xor edx, edx
mov eax, dword [esi + 4]
mov dword [ebp - 0x10], edi
cmp dword [esi + 8], edx
jle 0x1001fab9
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x1001faad
cmp ecx, edx
jne 0x1001fa98
movss xmm0, dword [0x102c6188]
jmp 0x1001fa9b
xorps xmm0, xmm0
movss dword [edi], xmm0
inc ecx
mov eax, dword [esi + 4]
add edi, 4
cmp ecx, eax
jl 0x1001fa8a
mov edi, dword [ebp - 0x10]
add edi, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x10], edi
cmp edx, dword [esi + 8]
jl 0x1001fa84
cmp byte [esi + 0x29], 0
je 0x1001fb35
mov ecx, dword [esi + 0x38]
lea edi, [esi + 0xc]
test ecx, ecx
je 0x1001fad9
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ecx, eax
jg 0x1001fffc
push ecx
push ecx
imul ecx, ecx
push ecx
mov ecx, edi
call fcn.1001756c
mov eax, dword [edi]
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
cmp dword [edi + 8], edx
jle 0x1001fb35
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x1001fb26
mov esi, dword [ebp - 0x18]
cmp ecx, edx
jne 0x1001fb14
movss xmm0, dword [0x102c6188]
jmp 0x1001fb17
xorps xmm0, xmm0
movss dword [esi], xmm0
inc ecx
mov eax, dword [edi + 4]
add esi, 4
cmp ecx, eax
jl 0x1001fb06
mov ecx, dword [ebp - 0x14]
inc edx
add dword [ebp - 0x18], ecx
cmp edx, dword [edi + 8]
jl 0x1001fafd
mov esi, dword [ebp - 0x20]
cmp byte [esi + 0x2a], 0
je 0x1001fbc3
mov ecx, dword [esi + 0x38]
lea edi, [esi + 0xc]
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x14], eax
test ecx, ecx
je 0x1001fb67
test eax, eax
je 0x1001fb67
mov eax, 0x7fffffff
cdq
idiv dword [ebp - 0x14]
cmp ecx, eax
jg 0x1001fffc
mov eax, dword [esi + 0x3c]
push eax
push ecx
imul ecx, eax
push ecx
mov ecx, edi
call fcn.1001756c
mov eax, dword [edi]
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
cmp dword [edi + 8], edx
jle 0x1001fbc3
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0x14], ecx
xor ecx, ecx
test eax, eax
jle 0x1001fbb4
mov esi, dword [ebp - 0x18]
cmp ecx, edx
jne 0x1001fba2
movss xmm0, dword [0x102c6188]
jmp 0x1001fba5
xorps xmm0, xmm0
movss dword [esi], xmm0
inc ecx
mov eax, dword [edi + 4]
add esi, 4
cmp ecx, eax
jl 0x1001fb94
mov ecx, dword [ebp - 0x14]
inc edx
add dword [ebp - 0x18], ecx
cmp edx, dword [edi + 8]
jl 0x1001fb8b
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.10023cab
mov esi, dword [ebp - 0x20]
fstp dword [ebp - 0xc]
fld qword [0x102c6178]
fld qword [0x102c6130]
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 0x1001fdfa
xor ecx, ecx
mov dword [ebp - 8], ecx
test edi, edi
jle 0x1001fde4
jmp 0x1001fc1e
fxch st(2)
fxch st(1)
fmulp st(2)
fxch st(1)
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fcompi st(1)
jbe 0x1001fc38
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x10], xmm0
jmp 0x1001fc3f
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 0x1001fc83
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 0x1001fc85
fld dword [ebp - 0xc]
jmp 0x1001fdc6
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.100256ee
mov eax, dword [esi + 0x44]
add esp, 0xc
movss xmm2, dword [ebp - 0x54]
ucomiss xmm2, dword [0x102c6188]
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 0x1001fce0
ucomiss xmm1, dword [0x102c6124]
lahf
test ah, 0x44
jnp 0x1001fd04
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.1002daeb
mov ecx, dword [ebp - 8]
add esp, 0x14
cmp byte [esi + 0x27], 0
jne 0x1001fd10
cmp byte [esi + 0x28], 0
je 0x1001fd2e
xorps xmm1, xmmword [0x102c6360]
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.10025898
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 8]
lea ecx, [esi + 0x44]
push edi
call fcn.10025898
cmp byte [esi + 0x29], 0
jne 0x1001fd4a
cmp byte [esi + 0x2a], 0
je 0x1001fd5a
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 8]
lea ecx, [esi + 0xc]
push edi
call fcn.10025898
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 0x1001fd93
movss xmm0, dword [ebp - 0x10]
jmp 0x1001fd98
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 0x1001fdae
movss xmm0, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
movss dword [ebp - 0xc], xmm0
fld dword [ebp - 0xc]
fld qword [0x102c6130]
fxch st(1)
movss dword [ebp - 0x18], xmm0
fld qword [0x102c6178]
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, edi
jl 0x1001fc1a
fstp st(0)
fld qword [0x102c6178]
fxch st(2)
fxch st(1)
mov eax, dword [esi + 0x3c]
inc edi
cmp edi, eax
jl 0x1001fc0b
cmp byte [ebp - 0x19], 0
je 0x1001fbf9
fstp st(0)
xor edx, edx
fstp st(1)
fstp st(0)
test eax, eax
jle 0x1001fe6a
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 [0x102c6350]
movss dword [eax + edx*4], xmm0
cmp byte [esi + 0x27], 0
jne 0x1001fe33
cmp byte [esi + 0x28], 0
je 0x1001fe64
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1001fe64
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 0x1001fe64
movss xmm0, dword [ecx + eax*4]
xorps xmm0, xmmword [0x102c6360]
movss dword [ecx + eax*4], xmm0
inc eax
cmp eax, edi
jl 0x1001fe4e
inc edx
cmp edx, dword [esi + 0x3c]
jl 0x1001fe06
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov edx, dword [esi + 0x18]
test ecx, ecx
jle 0x1001fe88
fld dword [ebp - 0x44]
fld dword [edx + eax*4]
fmul st(1)
fstp dword [edx + eax*4]
inc eax
cmp eax, ecx
jl 0x1001fe79
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 0x1001ffe1
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.1002e5b5
movss xmm0, dword [ebp - 0x50]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001ffde
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x1001ffca
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 0x1001ff29
cmp byte [esi + 0x28], 0
jne 0x1001ff29
xor al, al
jmp 0x1001ff2b
mov al, 1
test al, al
je 0x1001ff76
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 0x1001ff76
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 0x1001ff5b
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
cmp byte [esi + 0x29], 0
jne 0x1001ff86
cmp byte [esi + 0x2a], 0
jne 0x1001ff86
xor al, al
jmp 0x1001ff88
mov al, 1
test al, al
je 0x1001ffca
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 0x1001ffca
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 0x1001ffb2
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 0x1001fea1
jmp 0x1001ffe1
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.101f469d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
call fcn.10002565
int3