Function at 0x1001d425
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xc34
mov eax, 0x1021ade6
call fcn.10120eaa
mov dword [ebp - 0x238], edx
mov dword [ebp - 0x21c], ecx
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x234], edi
mov dword [ebp - 0x230], ebx
mov ecx, dword [edi + 4]
mov eax, ecx
cdq
sub eax, edx
mov dword [ebp - 0x22c], ecx
sar eax, 1
mov dword [ebp - 0x228], eax
xor eax, eax
mov esi, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], eax
test ecx, ecx
je 0x1001d48e
mov eax, 0x7fffffff
cdq
idiv ecx
cmp eax, 1
jge 0x1001d48e
call fcn.1001cbe1
mov esi, dword [ebp - 0x28]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x224], ecx
test ecx, ecx
je 0x1001d4b6
mov eax, 0x7fffffff
cdq
idiv ecx
cmp eax, 1
jge 0x1001d4b6
call fcn.1001cbe1
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x224]
cmp ecx, dword [ebp - 0x24]
je 0x1001d4e8
test esi, esi
je 0x1001d4ce
push dword [esi - 4]
call fcn.10131079
pop ecx
mov ecx, dword [ebp - 0x224]
test ecx, ecx
jle 0x1001d4e3
push ecx
call fcn.1002a896
pop ecx
mov ecx, dword [ebp - 0x224]
mov esi, eax
jmp 0x1001d4e5
xor esi, esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], ecx
mov eax, dword [edi]
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xd0], eax
mov byte [ebp - 4], 2
cmp ecx, eax
je 0x1001d555
test eax, eax
je 0x1001d527
mov eax, 0x7fffffff
cdq
idiv dword [ebp - 0x18]
cmp eax, 1
jge 0x1001d524
call fcn.1001cbe1
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
je 0x1001d552
test esi, esi
je 0x1001d53b
push dword [esi - 4]
call fcn.10131079
mov eax, dword [ebp - 0x18]
pop ecx
test eax, eax
jle 0x1001d54d
push eax
call fcn.1002a896
mov esi, eax
mov eax, dword [ebp - 0x18]
pop ecx
jmp 0x1001d54f
xor esi, esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x28]
call fcn.10028560
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x224], ecx
test ecx, ecx
jle 0x1001d58d
mov ebx, ecx
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
sub edx, eax
fld dword [ecx + edx*4 - 4]
fstp dword [esi + eax*4]
inc eax
cmp eax, ebx
jl 0x1001d56d
mov ebx, dword [ebp - 0x230]
mov edx, dword [ebp - 0x228]
xor eax, eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x224], eax
test edx, edx
jle 0x1001e628
lea esi, [edx + 1]
mov ecx, edi
add esi, eax
mov eax, dword [ebp - 0x22c]
sub eax, esi
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x14], eax
call fcn.10028560
mov ebx, eax
sub ebx, esi
mov esi, dword [edi]
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.10028560
lea ecx, [esi + ebx*4]
mov dword [ebp - 0x4dc], edi
mov dword [ebp - 0x4e8], ecx
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x4e0], ecx
mov dword [ebp - 0x4d4], ebx
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.10028560
mov edi, dword [ebp - 0x21c]
mov dword [ebp - 0x4d0], eax
mov ebx, dword [edi + 8]
mov esi, dword [edi]
mov ecx, edi
mov byte [ebp - 4], 7
call fcn.10028550
mov eax, dword [ebp - 0x220]
and dword [ebp - 0x2b0], 0
and dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2c0], esi
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x2b4], edi
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.10028550
push 7
pop ecx
lea esi, [ebp - 0x4e8]
mov dword [ebp - 0x2a8], eax
lea edi, [ebp - 0xb98]
rep movsd dword es:[edi], dword [esi]
push 7
pop ecx
lea esi, [ebp - 0x2c0]
lea edi, [ebp - 0xb7c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x28]
call fcn.10028560
mov esi, dword [ebp - 0x28]
mov edi, eax
sub edi, dword [ebp - 0x14]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.10028560
mov eax, dword [ebp - 0x14]
lea ecx, [esi + edi*4]
mov dword [ebp - 0x4fc], eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x504], ecx
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x4f0], edi
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.10028560
mov dword [ebp - 0x4ec], eax
mov eax, dword [ebp - 0x21c]
mov edi, dword [eax + 8]
mov esi, dword [eax]
mov byte [ebp - 4], 0xb
mov ecx, eax
call fcn.10028550
and dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2d4], edi
mov dword [ebp - 0x2cc], 1
lea eax, [esi + eax*4]
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x2d0], eax
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.10028550
push 7
pop ecx
push 7
lea esi, [ebp - 0x504]
mov dword [ebp - 0x2c4], eax
lea edi, [ebp - 0xbd0]
rep movsd dword es:[edi], dword [esi]
pop ecx
lea esi, [ebp - 0x2dc]
lea edi, [ebp - 0xbb4]
rep movsd dword es:[edi], dword [esi]
push 0xe
pop ecx
lea esi, [ebp - 0xb98]
lea edi, [ebp - 0x60c]
rep movsd dword es:[edi], dword [esi]
push 0xe
pop ecx
lea esi, [ebp - 0xbd0]
lea edi, [ebp - 0x5d4]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x230]
mov esi, dword [edi + 8]
mov ecx, edi
mov byte [ebp - 4], 0xd
call fcn.10028550
push esi
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x224]
mov ecx, dword [edi]
imul eax, esi
push 1
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x2f8]
call fcn.1002852f
and dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2ec], edi
mov dword [ebp - 0x2e8], esi
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.10028550
xor edi, edi
mov dword [ebp - 0x2e0], eax
mov esi, edi
mov ecx, edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 4], 0xf
test ebx, ebx
je 0x1001d81b
mov eax, 0x7fffffff
cdq
idiv ebx
cmp eax, 1
jge 0x1001d7f2
call fcn.1001cbe1
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
cmp ebx, ecx
je 0x1001d816
test esi, esi
je 0x1001d803
push dword [esi - 4]
call fcn.10131079
pop ecx
test ebx, ebx
jle 0x1001d813
push ebx
call fcn.1002a896
pop ecx
mov dword [ebp - 0x30], eax
jmp 0x1001d816
mov dword [ebp - 0x30], edi
mov ecx, ebx
mov dword [ebp - 0x2c], ecx
and dword [ebp - 0x26c], 0
lea eax, [ebp - 0x26c]
push eax
push ecx
xor ebx, ebx
lea ecx, [ebp - 0x3ec]
inc ebx
push ebx
call fcn.1002ae83
mov esi, dword [ebp - 0x3e8]
mov ecx, dword [ebp - 0x2c]
cmp ecx, esi
je 0x1001d888
test esi, esi
je 0x1001d85e
mov eax, 0x7fffffff
cdq
idiv esi
cmp eax, ebx
jge 0x1001d85e
call fcn.1001cbe1
mov ecx, dword [ebp - 0x2c]
cmp esi, ecx
je 0x1001d885
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x1001d872
push dword [eax - 4]
call fcn.10131079
pop ecx
test esi, esi
jle 0x1001d882
push esi
call fcn.1002a896
pop ecx
mov dword [ebp - 0x30], eax
jmp 0x1001d885
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], esi
movss xmm0, dword [ebp - 0x3e4]
lea ecx, [ebp - 0x30]
movss dword [ebp - 0x268], xmm0
call fcn.10028560
lea ecx, [ebp - 0x268]
push ecx
push eax
push dword [ebp - 0x30]
call fcn.1003d4e6
add esp, 0xc
mov dword [ebp - 0x24c], 0x3f800000
cmp dword [ebp - 0x5e8], ebx
jne 0x1001dad3
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x600]
call fcn.10028560
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x9dc]
push dword [ebp - 0x604]
push ebx
push dword [ebp - 0x60c]
call fcn.1002852f
push 7
pop ecx
lea esi, [ebp - 0x60c]
lea edi, [ebp - 0x9d0]
rep movsd dword es:[edi], dword [esi]
and dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x600]
call fcn.10028560
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x878]
push ebx
push dword [ebp - 0x5ec]
mov dword [ebp - 0x9ac], eax
push dword [ebp - 0x5f0]
call fcn.1003efc7
push 7
pop ecx
push 0xd
lea esi, [ebp - 0x5f0]
lea edi, [ebp - 0x86c]
rep movsd dword es:[edi], dword [esi]
and dword [ebp - 0x850], 0
lea esi, [ebp - 0x9dc]
and dword [ebp - 0x84c], 0
lea edi, [ebp - 0x6f0]
pop ecx
rep movsd dword es:[edi], dword [esi]
push 0xd
pop ecx
mov dword [ebp - 0x848], ebx
lea esi, [ebp - 0x878]
lea edi, [ebp - 0x6bc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x6f4]
call fcn.10040603
lea ecx, [ebp - 0x6f4]
mov esi, eax
call fcn.1001c5e9
imul esi, eax
test esi, esi
jne 0x1001d9ab
and dword [ebp - 0x18], esi
jmp 0x1001dab5
mov eax, dword [ebp - 0x6f0]
mov dword [ebp - 0x74], eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x6d8]
call fcn.10028560
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6bc]
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x6a4]
call fcn.10028550
mov dword [ebp - 0x64], eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x6f4]
mov eax, dword [ebp - 0x74]
mov esi, ebx
fld dword [eax]
mov eax, dword [ebp - 0x68]
fmul dword [eax]
fstp dword [ebp - 0x18]
call fcn.10040603
cmp eax, ebx
jle 0x1001da37
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x64]
imul ecx, esi
fld dword [eax + esi*4]
inc esi
mov eax, dword [ebp - 0x68]
fmul dword [eax + ecx*4]
lea ecx, [ebp - 0x6f4]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x18]
fadd dword [ebp - 0x218]
fstp dword [ebp - 0x18]
call fcn.10040603
cmp esi, eax
jl 0x1001da03
lea ecx, [ebp - 0x6f4]
mov esi, ebx
call fcn.1001c5e9
cmp eax, ebx
jle 0x1001daa7
lea ecx, [ebp - 0x6f4]
xor edi, edi
call fcn.10040603
test eax, eax
jle 0x1001da97
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x74]
imul ecx, esi
imul edx, edi
add ecx, edi
add edx, esi
inc edi
fld dword [eax + ecx*4]
lea ecx, [ebp - 0x6f4]
mov eax, dword [ebp - 0x68]
fmul dword [eax + edx*4]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x18]
fadd dword [ebp - 0x218]
fstp dword [ebp - 0x18]
call fcn.10040603
cmp edi, eax
jl 0x1001da59
lea ecx, [ebp - 0x6f4]
inc esi
call fcn.1001c5e9
cmp esi, eax
jl 0x1001da48
movss xmm0, dword [ebp - 0x18]
mov byte [ebp - 4], 0xf
movss dword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x30]
fld dword [ebp - 0x18]
fmul dword [ebp - 0x24c]
fld dword [eax]
fstp dword [ebp - 0x218]
fadd dword [ebp - 0x218]
fstp dword [eax]
jmp 0x1001db13
push 7
pop ecx
lea esi, [ebp - 0x60c]
lea edi, [ebp - 0x188]
rep movsd dword es:[edi], dword [esi]
push 7
pop ecx
lea eax, [ebp - 0x24c]
push eax
lea esi, [ebp - 0x5f0]
lea edi, [ebp - 0x134]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x134]
lea ecx, [ebp - 0x188]
call fcn.100402c1
pop ecx
pop ecx
mov dword [ebp - 0x23c], 0x3f800000
cmp dword [ebp - 0x5b0], ebx
jne 0x1001dd4d
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x5c8]
call fcn.10028560
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xa10]
push dword [ebp - 0x5cc]
push ebx
push dword [ebp - 0x5d4]
call fcn.1002852f
push 7
pop ecx
lea esi, [ebp - 0x5d4]
lea edi, [ebp - 0xa04]
rep movsd dword es:[edi], dword [esi]
and dword [ebp - 0x9e4], 0
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x5c8]
call fcn.10028560
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x8ac]
push ebx
push dword [ebp - 0x5b4]
mov dword [ebp - 0x9e0], eax
push dword [ebp - 0x5b8]
call fcn.1003efc7
push 7
pop ecx
push 0xd
lea esi, [ebp - 0x5b8]
lea edi, [ebp - 0x8a0]
rep movsd dword es:[edi], dword [esi]
and dword [ebp - 0x884], 0
lea esi, [ebp - 0xa10]
and dword [ebp - 0x880], 0
lea edi, [ebp - 0x760]
pop ecx
rep movsd dword es:[edi], dword [esi]
push 0xd
pop ecx
mov dword [ebp - 0x87c], ebx
lea esi, [ebp - 0x8ac]
lea edi, [ebp - 0x72c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x764]
call fcn.10040603
lea ecx, [ebp - 0x764]
mov esi, eax
call fcn.1001c5e9
imul esi, eax
test esi, esi
jne 0x1001dc0b
and dword [ebp - 0x18], esi
jmp 0x1001dd2f
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x90], eax
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x748]
call fcn.10028560
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x72c]
mov dword [ebp - 0x84], eax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x714]
call fcn.10028550
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x764]
mov eax, dword [ebp - 0x90]
mov esi, ebx
fld dword [eax]
mov eax, dword [ebp - 0x84]
fmul dword [eax]
fstp dword [ebp - 0x18]
call fcn.10040603
cmp eax, ebx
jle 0x1001dcac
mov eax, dword [ebp - 0x90]
mov ecx, esi
imul ecx, dword [ebp - 0x80]
fld dword [eax + esi*4]
inc esi
mov eax, dword [ebp - 0x84]
fmul dword [eax + ecx*4]
lea ecx, [ebp - 0x764]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x218]
fadd dword [ebp - 0x18]
fstp dword [ebp - 0x18]
call fcn.10040603
cmp esi, eax
jl 0x1001dc72
lea ecx, [ebp - 0x764]
mov esi, ebx
call fcn.1001c5e9
cmp eax, ebx
jle 0x1001dd25
lea ecx, [ebp - 0x764]
xor edi, edi
call fcn.10040603
test eax, eax
jle 0x1001dd15
mov eax, dword [ebp - 0x90]
mov ecx, esi
imul ecx, dword [ebp - 0x88]
mov edx, edi
imul edx, dword [ebp - 0x80]
add ecx, edi
add edx, esi
inc edi
fld dword [eax + ecx*4]
lea ecx, [ebp - 0x764]
mov eax, dword [ebp - 0x84]
fmul dword [eax + edx*4]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x218]
fadd dword [ebp - 0x18]
fstp dword [ebp - 0x18]
call fcn.10040603
cmp edi, eax
jl 0x1001dcce
lea ecx, [ebp - 0x764]
inc esi
call fcn.1001c5e9
cmp esi, eax
jl 0x1001dcbd
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x30]
fld dword [ebp - 0x18]
fmul dword [ebp - 0x23c]
fld dword [eax]
fstp dword [ebp - 0x218]
fadd dword [ebp - 0x218]
fstp dword [eax]
jmp 0x1001dd8d
push 7
pop ecx
lea esi, [ebp - 0x5d4]
lea edi, [ebp - 0x150]
rep movsd dword es:[edi], dword [esi]
push 7
pop ecx
lea eax, [ebp - 0x23c]
push eax
lea esi, [ebp - 0x5b8]
lea edi, [ebp - 0x16c]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x16c]
lea ecx, [ebp - 0x150]
call fcn.100402c1
pop ecx
pop ecx
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2f8]
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x2ec]
call fcn.10028550
lea ecx, [ebp - 0x2f8]
call fcn.10028550
xor ecx, ecx
test eax, eax
jle 0x1001ddc1
fld dword [esi + ecx*4]
fstp dword [edi + ecx*4]
inc ecx
cmp ecx, eax
jl 0x1001ddb6
lea ecx, [ebp - 0x30]
call fcn.1001f238
mov esi, dword [ebp - 0x234]
mov edi, dword [esi]
mov ecx, esi
mov byte [ebp - 4], 0x35
call fcn.10028560
mov eax, dword [ebp - 0x220]
and dword [ebp - 0x4b8], 0
mov dword [ebp - 0x4cc], edi
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x4c0], esi
mov ecx, esi
mov byte [ebp - 4], 0x36
call fcn.10028560
mov dword [ebp - 0x4b4], eax
mov eax, dword [ebp - 0x21c]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
sub edi, dword [ebp - 0x220]
mov esi, dword [eax]
mov dword [ebp - 0x218], ebx
mov ecx, eax
mov byte [ebp - 4], 0x37
call fcn.10028550
and dword [ebp - 0x3a8], 0
imul eax, edi
mov dword [ebp - 0x3b4], ebx
mov dword [ebp - 0x3ac], edi
lea eax, [esi + eax*4]
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x3b0], eax
mov ecx, eax
mov byte [ebp - 4], 0x38
call fcn.10028550
push 7
pop ecx
lea esi, [ebp - 0x4cc]
mov dword [ebp - 0x3a4], eax
lea edi, [ebp - 0xc08]
rep movsd dword es:[edi], dword [esi]
push 7
pop ecx
lea esi, [ebp - 0x3bc]
lea edi, [ebp - 0xbec]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x39
call fcn.10028560
and dword [ebp - 0x50c], 0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x520], esi
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x518], esi
mov dword [ebp - 0x514], eax
mov ecx, eax
mov byte [ebp - 4], 0x3a
call fcn.10028560
mov dword [ebp - 0x508], eax
mov eax, dword [ebp - 0x21c]
mov ebx, dword [eax + 4]
mov edi, dword [eax + 8]
sub ebx, esi
mov esi, dword [eax]
dec ebx
mov ecx, eax
mov byte [ebp - 4], 0x3b
call fcn.10028550
imul eax, ebx
lea eax, [esi + eax*4]
and dword [ebp - 0x38c], 0
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x398], edi
mov dword [ebp - 0x394], eax
mov dword [ebp - 0x390], ebx
mov ecx, eax
mov byte [ebp - 4], 0x3c
call fcn.10028550
mov ebx, dword [ebp - 0x230]
lea esi, [ebp - 0x520]
push 7
pop ecx
push 7
lea edi, [ebp - 0xc40]
mov dword [ebp - 0x388], eax
rep movsd dword es:[edi], dword [esi]
pop ecx
lea esi, [ebp - 0x3a0]
lea edi, [ebp - 0xc24]
rep movsd dword es:[edi], dword [esi]
push 0xe
pop ecx
lea esi, [ebp - 0xc08]
lea edi, [ebp - 0x594]
rep movsd dword es:[edi], dword [esi]
push 0xe
pop ecx
lea esi, [ebp - 0xc40]
lea edi, [ebp - 0x55c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x21c]
mov edi, dword [esi + 4]
sub edi, dword [ebp - 0x224]
mov esi, dword [ebx + 8]
dec edi
mov ecx, ebx
mov byte [ebp - 4], 0x3d
call fcn.10028550
imul eax, edi
mov byte [ebp - 4], 4
mov ecx, dword [ebx]
push esi
push 1
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x384]
call fcn.1002852f
xor esi, esi
mov dword [ebp - 0x378], ebx
mov dword [ebp - 0x374], edi
mov dword [ebp - 0x370], esi
mov ecx, ebx
mov byte [ebp - 4], 0x3e
call fcn.10028550
mov edi, esi
mov dword [ebp - 0x36c], eax
mov ecx, esi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp - 0x218]
mov byte [ebp - 4], 0x3f
test esi, esi
je 0x1001e03d
mov eax, 0x7fffffff
cdq
idiv esi
cmp eax, 1
jge 0x1001e013
call fcn.1001cbe1
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x38]
cmp esi, ecx
je 0x1001e038
test edi, edi
je 0x1001e024
push dword [edi - 4]
call fcn.10131079
pop ecx
test esi, esi
jle 0x1001e034
push esi
call fcn.1002a896
pop ecx
mov dword [ebp - 0x38], eax
jmp 0x1001e038
and dword [ebp - 0x38], 0
mov ecx, esi
mov dword [ebp - 0x34], ecx
and dword [ebp - 0x264], 0
lea eax, [ebp - 0x264]
push eax
push ecx
xor edi, edi
lea ecx, [ebp - 0x468]
inc edi
push edi
call fcn.1002ae83
mov esi, dword [ebp - 0x464]
mov ecx, dword [ebp - 0x34]
cmp ecx, esi
je 0x1001e0ab
test esi, esi
je 0x1001e080
mov eax, 0x7fffffff
cdq
idiv esi
cmp eax, edi
jge 0x1001e080
call fcn.1001cbe1
mov ecx, dword [ebp - 0x34]
cmp esi, ecx
je 0x1001e0a8
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x1001e094
push dword [eax - 4]
call fcn.10131079
pop ecx
test esi, esi
jle 0x1001e0a4
push esi
call fcn.1002a896
pop ecx
mov dword [ebp - 0x38], eax
jmp 0x1001e0a8
and dword [ebp - 0x38], 0
mov dword [ebp - 0x34], esi
movss xmm0, dword [ebp - 0x460]
lea ecx, [ebp - 0x38]
movss dword [ebp - 0x260], xmm0
call fcn.10028560
lea ecx, [ebp - 0x260]
push ecx
push eax
push dword [ebp - 0x38]
call fcn.1003d4e6
add esp, 0xc
mov dword [ebp - 0x240], 0x3f800000
cmp dword [ebp - 0x570], edi
jne 0x1001e2fe
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x588]
call fcn.10028560
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0xa44]
push dword [ebp - 0x58c]
push edi
push dword [ebp - 0x594]
call fcn.1002852f
push 7
pop ecx
lea esi, [ebp - 0x594]
lea edi, [ebp - 0xa38]
rep movsd dword es:[edi], dword [esi]
and dword [ebp - 0xa18], 0
mov byte [ebp - 4], 0x42
mov ecx, dword [ebp - 0x588]
call fcn.10028560
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x8e0]
push 1
push dword [ebp - 0x574]
mov dword [ebp - 0xa14], eax
push dword [ebp - 0x578]
call fcn.1003efc7
push 7
pop ecx
push 0xd
lea esi, [ebp - 0x578]
lea edi, [ebp - 0x8d4]
rep movsd dword es:[edi], dword [esi]
and dword [ebp - 0x8b8], 0
lea esi, [ebp - 0xa44]
and dword [ebp - 0x8b4], 0
lea edi, [ebp - 0x7d0]
pop ecx
rep movsd dword es:[edi], dword [esi]
push 0xd
pop ecx
mov dword [ebp - 0x8b0], 1
lea esi, [ebp - 0x8e0]
lea edi, [ebp - 0x79c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x7d4]
call fcn.10040603
lea ecx, [ebp - 0x7d4]
mov esi, eax
call fcn.1001c5e9
imul esi, eax
test esi, esi
jne 0x1001e1d3
and dword [ebp - 0x14], esi
jmp 0x1001e2e0
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x7b8]
call fcn.10028560
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x784]
call fcn.10028550
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x7d4]
mov eax, dword [ebp - 0x4c]
xor edi, edi
inc edi
mov esi, edi
fld dword [eax]
mov eax, dword [ebp - 0x58]
fmul dword [eax]
fstp dword [ebp - 0x14]
call fcn.10040603
cmp eax, edi
jle 0x1001e262
mov eax, dword [ebp - 0x58]
mov ecx, esi
imul ecx, dword [ebp - 0x48]
fld dword [eax + esi*4]
inc esi
mov eax, dword [ebp - 0x4c]
fmul dword [eax + ecx*4]
lea ecx, [ebp - 0x7d4]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x218]
fadd dword [ebp - 0x14]
fstp dword [ebp - 0x14]
call fcn.10040603
cmp esi, eax
jl 0x1001e22e
lea ecx, [ebp - 0x7d4]
mov esi, edi
call fcn.1001c5e9
cmp eax, edi
jle 0x1001e2d2
lea ecx, [ebp - 0x7d4]
xor edi, edi
call fcn.10040603
test eax, eax
jle 0x1001e2c2
mov eax, dword [ebp - 0x58]
mov ecx, esi
imul ecx, dword [ebp - 0x50]
mov edx, edi
imul edx, dword [ebp - 0x48]
add ecx, edi
add edx, esi
inc edi
fld dword [eax + ecx*4]
lea ecx, [ebp - 0x7d4]
mov eax, dword [ebp - 0x4c]
fmul dword [eax + edx*4]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x218]
fadd dword [ebp - 0x14]
fstp dword [ebp - 0x14]
call fcn.10040603
cmp edi, eax
jl 0x1001e284
lea ecx, [ebp - 0x7d4]
inc esi
call fcn.1001c5e9
cmp esi, eax
jl 0x1001e273
movss xmm0, dword [ebp - 0x14]
mov byte [ebp - 4], 0x3f
movss dword [ebp - 0x14], xmm0
mov eax, dword [ebp - 0x38]
fld dword [ebp - 0x14]
fmul dword [ebp - 0x240]
fld dword [eax]
fstp dword [ebp - 0x218]
fadd dword [ebp - 0x218]
fstp dword [eax]
jmp 0x1001e33e
push 7
pop ecx
lea esi, [ebp - 0x594]
lea edi, [ebp - 0x1c0]
rep movsd dword es:[edi], dword [esi]
push 7
pop ecx
lea eax, [ebp - 0x240]
push eax
lea esi, [ebp - 0x578]
lea edi, [ebp - 0x1a4]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x1a4]
lea ecx, [ebp - 0x1c0]
call fcn.100402c1
pop ecx
pop ecx
cmp dword [ebp - 0x538], 1
mov dword [ebp - 0x244], 0x3f800000
jne 0x1001e58b
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0x550]
call fcn.10028560
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0xa78]
push dword [ebp - 0x554]
push 1
push dword [ebp - 0x55c]
call fcn.1002852f
push 7
pop ecx
lea esi, [ebp - 0x55c]
lea edi, [ebp - 0xa6c]
rep movsd dword es:[edi], dword [esi]
and dword [ebp - 0xa4c], 0
mov byte [ebp - 4], 0x53
mov ecx, dword [ebp - 0x550]
call fcn.10028560
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x914]
push 1
push dword [ebp - 0x53c]
mov dword [ebp - 0xa48], eax
push dword [ebp - 0x540]
call fcn.1003efc7
push 7
pop ecx
push 0xd
lea esi, [ebp - 0x540]
lea edi, [ebp - 0x908]
rep movsd dword es:[edi], dword [esi]
and dword [ebp - 0x8ec], 0
lea esi, [ebp - 0xa78]
and dword [ebp - 0x8e8], 0
lea edi, [ebp - 0x840]
pop ecx
rep movsd dword es:[edi], dword [esi]
push 0xd
pop ecx
mov dword [ebp - 0x8e4], 1
lea esi, [ebp - 0x914]
lea edi, [ebp - 0x80c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x844]
call fcn.10040603
lea ecx, [ebp - 0x844]
mov esi, eax
call fcn.1001c5e9
imul esi, eax
test esi, esi
jne 0x1001e43d
and dword [ebp - 0x14], esi
jmp 0x1001e56d
mov eax, dword [ebp - 0x840]
mov dword [ebp - 0xac], eax
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0x828]
call fcn.10028560
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x80c]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 0x5e
mov ecx, dword [ebp - 0x7f4]
call fcn.10028550
mov dword [ebp - 0x9c], eax
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x844]
mov eax, dword [ebp - 0xac]
xor edi, edi
inc edi
mov esi, edi
fld dword [eax]
mov eax, dword [ebp - 0xa0]
fmul dword [eax]
fstp dword [ebp - 0x14]
call fcn.10040603
cmp eax, edi
jle 0x1001e4e7
mov eax, dword [ebp - 0xac]
mov ecx, esi
imul ecx, dword [ebp - 0x9c]
fld dword [eax + esi*4]
inc esi
mov eax, dword [ebp - 0xa0]
fmul dword [eax + ecx*4]
lea ecx, [ebp - 0x844]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x218]
fadd dword [ebp - 0x14]
fstp dword [ebp - 0x14]
call fcn.10040603
cmp esi, eax
jl 0x1001e4aa
lea ecx, [ebp - 0x844]
mov esi, edi
call fcn.1001c5e9
cmp eax, edi
jle 0x1001e563
lea ecx, [ebp - 0x844]
xor edi, edi
call fcn.10040603
test eax, eax
jle 0x1001e553
mov eax, dword [ebp - 0xac]
mov ecx, esi
imul ecx, dword [ebp - 0xa4]
mov edx, edi
imul edx, dword [ebp - 0x9c]
add ecx, edi
add edx, esi
inc edi
fld dword [eax + ecx*4]
lea ecx, [ebp - 0x844]
mov eax, dword [ebp - 0xa0]
fmul dword [eax + edx*4]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x218]
fadd dword [ebp - 0x14]
fstp dword [ebp - 0x14]
call fcn.10040603
cmp edi, eax
jl 0x1001e509
lea ecx, [ebp - 0x844]
inc esi
call fcn.1001c5e9
cmp esi, eax
jl 0x1001e4f8
movss xmm0, dword [ebp - 0x14]
movss dword [ebp - 0x14], xmm0
mov eax, dword [ebp - 0x38]
fld dword [ebp - 0x14]
fmul dword [ebp - 0x244]
fld dword [eax]
fstp dword [ebp - 0x218]
fadd dword [ebp - 0x218]
fstp dword [eax]
jmp 0x1001e5cb
push 7
pop ecx
lea esi, [ebp - 0x55c]
lea edi, [ebp - 0x1f8]
rep movsd dword es:[edi], dword [esi]
push 7
pop ecx
lea eax, [ebp - 0x244]
push eax
lea esi, [ebp - 0x540]
lea edi, [ebp - 0x1dc]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x1dc]
lea ecx, [ebp - 0x1f8]
call fcn.100402c1
pop ecx
pop ecx
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x384]
mov byte [ebp - 4], 0x64
mov ecx, dword [ebp - 0x378]
call fcn.10028550
lea ecx, [ebp - 0x384]
call fcn.10028550
xor ecx, ecx
test eax, eax
jle 0x1001e5ff
fld dword [esi + ecx*4]
fstp dword [edi + ecx*4]
inc ecx
cmp ecx, eax
jl 0x1001e5f4
lea ecx, [ebp - 0x38]
call fcn.1001f238
mov eax, dword [ebp - 0x224]
mov edx, dword [ebp - 0x228]
inc eax
mov edi, dword [ebp - 0x234]
mov dword [ebp - 0x224], eax
cmp eax, edx
jl 0x1001d5aa
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x224], edx
mov eax, dword [ecx + 4]
sub eax, edx
cmp edx, eax
jge 0x1001eadb
and dword [ebp - 0x220], 0
mov eax, dword [ebx + 8]
mov esi, dword [ecx]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x65
call fcn.10028550
mov ecx, dword [ebp - 0x220]
and dword [ebp - 0x300], 0
imul eax, ecx
mov dword [ebp - 0x304], ecx
lea eax, [esi + eax*4]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x308], eax
mov ecx, eax
mov byte [ebp - 4], 0x66
call fcn.10028550
mov dword [ebp - 0x3dc], edi
lea esi, [ebp - 0x314]
push 7
pop ecx
lea edi, [ebp - 0x3d8]
mov dword [ebp - 0x2fc], eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 8]
mov ecx, ebx
mov byte [ebp - 4], 0x67
call fcn.10028550
push esi
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x224]
mov ecx, dword [ebx]
imul eax, esi
push 1
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x330]
call fcn.1002852f
mov dword [ebp - 0x320], esi
xor esi, esi
mov dword [ebp - 0x324], ebx
mov dword [ebp - 0x31c], esi
mov ecx, ebx
mov byte [ebp - 4], 0x68
call fcn.10028550
mov edi, esi
mov dword [ebp - 0x318], eax
mov ecx, esi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], ecx
mov esi, dword [ebp - 0x14]
mov byte [ebp - 4], 0x69
test esi, esi
je 0x1001e76c
mov eax, 0x7fffffff
cdq
idiv esi
cmp eax, 1
jge 0x1001e742
call fcn.1001cbe1
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x40]
cmp esi, ecx
je 0x1001e767
test edi, edi
je 0x1001e753
push dword [edi - 4]
call fcn.10131079
pop ecx
test esi, esi
jle 0x1001e763
push esi
call fcn.1002a896
pop ecx
mov dword [ebp - 0x40], eax
jmp 0x1001e767
and dword [ebp - 0x40], 0
mov ecx, esi
mov dword [ebp - 0x3c], ecx
and dword [ebp - 0x25c], 0
lea eax, [ebp - 0x25c]
push eax
push ecx
push 1
lea ecx, [ebp - 0x474]
call fcn.1002ae83
mov esi, dword [ebp - 0x470]
mov ecx, dword [ebp - 0x3c]
cmp ecx, esi
je 0x1001e7d9
test esi, esi
je 0x1001e7ae
mov eax, 0x7fffffff
cdq
idiv esi
cmp eax, 1
jge 0x1001e7ae
call fcn.1001cbe1
mov ecx, dword [ebp - 0x3c]
cmp esi, ecx
je 0x1001e7d6
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x1001e7c2
push dword [eax - 4]
call fcn.10131079
pop ecx
test esi, esi
jle 0x1001e7d2
push esi
call fcn.1002a896
pop ecx
mov dword [ebp - 0x40], eax
jmp 0x1001e7d6
and dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], esi
movss xmm0, dword [ebp - 0x46c]
lea ecx, [ebp - 0x40]
movss dword [ebp - 0x258], xmm0
call fcn.10028560
lea ecx, [ebp - 0x258]
push ecx
push eax
push dword [ebp - 0x40]
call fcn.1003d4e6
add esp, 0xc
mov dword [ebp - 0x248], 0x3f800000
cmp dword [ebp - 0x3d0], 1
jne 0x1001ea3e
mov edi, dword [ebp - 0x3dc]
mov esi, dword [edi + 4]
mov ecx, edi
mov byte [ebp - 4], 0x6a
call fcn.10028560
push esi
push 1
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0x62c]
push dword [edi]
call fcn.1002852f
and dword [ebp - 0x618], 0
mov dword [ebp - 0x620], edi
mov ecx, edi
mov byte [ebp - 4], 0x6b
call fcn.10028560
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0x948]
push 1
push dword [ebp - 0x3d4]
mov dword [ebp - 0x614], eax
push dword [ebp - 0x3d8]
call fcn.1003efc7
push 7
pop ecx
push 7
lea esi, [ebp - 0x3d8]
lea edi, [ebp - 0x93c]
rep movsd dword es:[edi], dword [esi]
and dword [ebp - 0x920], 0
lea esi, [ebp - 0x62c]
and dword [ebp - 0x91c], 0
lea edi, [ebp - 0x680]
pop ecx
rep movsd dword es:[edi], dword [esi]
push 0xd
pop ecx
mov dword [ebp - 0x918], 1
lea esi, [ebp - 0x948]
lea edi, [ebp - 0x664]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x684]
call fcn.1003fa35
lea ecx, [ebp - 0x684]
mov esi, eax
call fcn.1001c5e9
imul esi, eax
test esi, esi
jne 0x1001e8f0
and dword [ebp - 0x14], esi
jmp 0x1001ea20
mov eax, dword [ebp - 0x680]
mov dword [ebp - 0xc8], eax
mov byte [ebp - 4], 0x71
mov ecx, dword [ebp - 0x674]
call fcn.10028560
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 4], 0x73
mov ecx, dword [ebp - 0x64c]
call fcn.10028550
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x684]
mov eax, dword [ebp - 0xbc]
xor edi, edi
inc edi
mov esi, edi
fld dword [eax]
mov eax, dword [ebp - 0xc8]
fmul dword [eax]
fstp dword [ebp - 0x14]
call fcn.1003fa35
cmp eax, edi
jle 0x1001e99a
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xb8]
imul ecx, esi
fld dword [eax + esi*4]
inc esi
mov eax, dword [ebp - 0xbc]
fmul dword [eax + ecx*4]
lea ecx, [ebp - 0x684]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x218]
fadd dword [ebp - 0x14]
fstp dword [ebp - 0x14]
call fcn.1003fa35
cmp esi, eax
jl 0x1001e95d
lea ecx, [ebp - 0x684]
mov esi, edi
call fcn.1001c5e9
cmp eax, edi
jle 0x1001ea16
lea ecx, [ebp - 0x684]
xor edi, edi
call fcn.1003fa35
test eax, eax
jle 0x1001ea06
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc8]
imul ecx, esi
imul edx, edi
add ecx, edi
add edx, esi
inc edi
fld dword [eax + ecx*4]
lea ecx, [ebp - 0x684]
mov eax, dword [ebp - 0xbc]
fmul dword [eax + edx*4]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x218]
fadd dword [ebp - 0x14]
fstp dword [ebp - 0x14]
call fcn.1003fa35
cmp edi, eax
jl 0x1001e9bc
lea ecx, [ebp - 0x684]
inc esi
call fcn.1001c5e9
cmp esi, eax
jl 0x1001e9ab
movss xmm0, dword [ebp - 0x14]
movss dword [ebp - 0x14], xmm0
mov eax, dword [ebp - 0x40]
fld dword [ebp - 0x248]
fmul dword [ebp - 0x14]
fld dword [eax]
fstp dword [ebp - 0x218]
fadd dword [ebp - 0x218]
fstp dword [eax]
jmp 0x1001ea6d
push 7
pop ecx
lea eax, [ebp - 0x248]
push eax
lea esi, [ebp - 0x3d8]
lea edi, [ebp - 0x214]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x3dc]
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x214]
call fcn.1003f5c1
pop ecx
pop ecx
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x330]
mov byte [ebp - 4], 0x79
mov ecx, dword [ebp - 0x324]
call fcn.10028550
lea ecx, [ebp - 0x330]
call fcn.10028550
xor ecx, ecx
test eax, eax
jle 0x1001eaa1
fld dword [esi + ecx*4]
fstp dword [edi + ecx*4]
inc ecx
cmp ecx, eax
jl 0x1001ea96
lea ecx, [ebp - 0x40]
call fcn.1001f238
mov esi, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x224]
mov edi, dword [ebp - 0x234]
inc ecx
inc dword [ebp - 0x220]
mov eax, dword [esi + 4]
sub eax, dword [ebp - 0x228]
mov dword [ebp - 0x224], ecx
cmp ecx, eax
mov ecx, esi
jl 0x1001e648
mov esi, dword [ebp - 0x238]
xor edi, edi
mov esi, dword [esi + 4]
mov eax, esi
cdq
mov dword [ebp - 0x20], edi
sub eax, edx
mov dword [ebp - 0x1c], edi
mov ecx, dword [ecx + 8]
sar eax, 1
dec ecx
mov dword [ebp - 0x22c], esi
add ecx, esi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
push ecx
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x7a
call fcn.10023f6a
mov byte [ebp - 4], 0x7b
mov dword [ebp - 0x220], edi
cmp dword [ebx + 4], edi
jle 0x1001f222
mov esi, dword [ebx + 8]
mov ecx, ebx
mov byte [ebp - 4], 0x7c
call fcn.10028550
imul eax, edi
mov byte [ebp - 4], 0x7b
mov ecx, dword [ebx]
push esi
push 1
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x288]
call fcn.1002852f
and dword [ebp - 0x274], 0
mov dword [ebp - 0x27c], ebx
mov dword [ebp - 0x278], edi
mov ecx, ebx
mov byte [ebp - 4], 0x7d
call fcn.10028550
mov esi, dword [ebp - 0x288]
mov dword [ebp - 0x270], eax
mov byte [ebp - 4], 0x7f
mov ecx, dword [ebp - 0x27c]
call fcn.10028550
push dword [ebp - 0x14]
lea eax, [esi + 4]
mov byte [ebp - 4], 0x7b
push 1
push eax
lea ecx, [ebp - 0xaac]
call fcn.1002852f
push 7
pop ecx
lea esi, [ebp - 0x288]
lea edi, [ebp - 0xaa0]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xa80], 1
mov byte [ebp - 4], 0x80
mov ecx, dword [ebp - 0x27c]
call fcn.10028550
push 0xd
pop ecx
lea esi, [ebp - 0xaac]
mov dword [ebp - 0xa7c], eax
lea edi, [ebp - 0xb2c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x82
call fcn.10028560
push dword [ebp - 0x14]
lea ecx, [ebp - 0x408]
mov byte [ebp - 4], 0x7b
push 1
push esi
call fcn.1002852f
and dword [ebp - 0x3f4], 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x3fc], eax
mov ecx, eax
mov byte [ebp - 4], 0x83
call fcn.10028560
mov esi, dword [ebp - 0xb2c]
mov dword [ebp - 0x3f0], eax
mov byte [ebp - 4], 0x86
mov ecx, dword [ebp - 0xb14]
call fcn.10028550
mov eax, dword [ebp - 0x408]
mov edi, dword [ebp - 0xb24]
mov dword [ebp - 0x218], eax
mov byte [ebp - 4], 0x89
mov ecx, dword [ebp - 0x3fc]
call fcn.10028560
lea ecx, [ebp - 0x408]
call fcn.10028550
xor ecx, ecx
test eax, eax
jle 0x1001ec88
lea edx, [esi - 4]
mov esi, dword [ebp - 0x218]
lea edx, [edx + edi*4]
fld dword [edx]
sub edx, 4
fstp dword [esi + ecx*4]
inc ecx
cmp ecx, eax
jl 0x1001ec7b
mov esi, dword [ebx + 8]
mov ecx, ebx
mov byte [ebp - 4], 0x8a
call fcn.10028550
push esi
mov esi, dword [ebp - 0x220]
mov ecx, esi
imul ecx, eax
mov byte [ebp - 4], 0x7b
mov eax, dword [ebx]
push 1
lea eax, [eax + ecx*4]
push eax
lea ecx, [ebp - 0x424]
call fcn.1002852f
and dword [ebp - 0x410], 0
mov dword [ebp - 0x418], ebx
mov dword [ebp - 0x414], esi
mov ecx, ebx
mov byte [ebp - 4], 0x8b
call fcn.10028550
mov esi, dword [ebp - 0x21c]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x40c], eax
mov esi, dword [esi + 8]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x8c
call fcn.10028560
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x440]
push esi
push 1
mov byte [ebp - 4], 0x7b
lea eax, [edi + eax*4]
push eax
call fcn.1002852f
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x42c], edi
mov ecx, eax
mov byte [ebp - 4], 0x8d
call fcn.10028560
mov dword [ebp - 0x428], eax
mov eax, dword [ebp - 0x424]
mov dword [ebp - 0x218], eax
mov byte [ebp - 4], 0x8f
mov ecx, dword [ebp - 0x418]
call fcn.10028550
mov esi, dword [ebp - 0x440]
mov byte [ebp - 4], 0x91
mov ecx, dword [ebp - 0x434]
call fcn.10028560
lea ecx, [ebp - 0x440]
call fcn.10028550
mov ecx, eax
test ecx, ecx
jle 0x1001ed87
mov eax, dword [ebp - 0x218]
sub eax, esi
fld dword [eax + esi]
fstp dword [esi]
add esi, 4
sub ecx, 1
jne 0x1001ed7a
mov esi, dword [ebx + 8]
mov ecx, ebx
mov byte [ebp - 4], 0x92
call fcn.10028550
push esi
mov esi, dword [ebp - 0x220]
imul eax, esi
mov byte [ebp - 4], 0x7b
mov ecx, dword [ebx]
push 1
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x2a4]
call fcn.1002852f
and dword [ebp - 0x290], 0
mov dword [ebp - 0x298], ebx
mov dword [ebp - 0x294], esi
mov ecx, ebx
mov byte [ebp - 4], 0x93
call fcn.10028550
mov esi, dword [ebp - 0x2a4]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x21c]
mov ebx, dword [eax + 8]
sub ebx, edi
add ebx, 0xfffffffe
mov byte [ebp - 4], 0x95
mov ecx, dword [ebp - 0x298]
call fcn.10028550
push edi
push 1
lea eax, [esi + ebx*4]
mov byte [ebp - 4], 0x7b
push eax
lea ecx, [ebp - 0xae0]
call fcn.1002852f
push 7
pop ecx
lea esi, [ebp - 0x2a4]
lea edi, [ebp - 0xad4]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xab4], ebx
mov byte [ebp - 4], 0x96
mov ecx, dword [ebp - 0x298]
call fcn.10028550
push 0xd
pop ecx
mov dword [ebp - 0xab0], eax
lea esi, [ebp - 0xae0]
lea edi, [ebp - 0xb60]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x20]
call fcn.10028560
mov ebx, dword [ebp - 0x14]
mov edi, eax
mov esi, dword [ebp - 0x20]
sub edi, ebx
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x98
call fcn.10028560
push ebx
push 1
lea eax, [esi + edi*4]
mov byte [ebp - 4], 0x7b
push eax
lea ecx, [ebp - 0x45c]
call fcn.1002852f
lea eax, [ebp - 0x20]
mov dword [ebp - 0x448], edi
mov dword [ebp - 0x450], eax
mov ecx, eax
mov byte [ebp - 4], 0x99
call fcn.10028560
mov esi, dword [ebp - 0xb60]
mov dword [ebp - 0x444], eax
mov byte [ebp - 4], 0x9c
mov ecx, dword [ebp - 0xb48]
call fcn.10028550
mov edi, dword [ebp - 0xb58]
mov ebx, dword [ebp - 0x45c]
mov byte [ebp - 4], 0x9f
mov ecx, dword [ebp - 0x450]
call fcn.10028560
lea ecx, [ebp - 0x45c]
call fcn.10028550
xor ecx, ecx
test eax, eax
jle 0x1001eef8
lea edx, [edi - 1]
lea edx, [esi + edx*4]
fld dword [edx]
sub edx, 4
fstp dword [ebx + ecx*4]
inc ecx
cmp ecx, eax
jl 0x1001eeeb
mov eax, dword [ebp - 0x21c]
mov edi, dword [ebp - 0x20]
mov esi, dword [eax + 8]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xa0
call fcn.10028560
push esi
push 1
push edi
lea ecx, [ebp - 0x494]
mov byte [ebp - 4], 0x7b
call fcn.1002852f
and dword [ebp - 0x480], 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x488], eax
mov ecx, eax
mov byte [ebp - 4], 0xa1
call fcn.10028560
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0xaec]
mov dword [ebp - 0x47c], eax
mov eax, dword [ebp - 0x238]
mov eax, dword [eax]
movss xmm0, dword [eax]
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x48c]
movss dword [ebp - 0x254], xmm0
push 1
call fcn.1002ae83
push eax
lea ecx, [ebp - 0x974]
call fcn.1002b053
mov ebx, dword [ebp - 0x230]
lea esi, [ebp - 0x494]
push 7
pop ecx
lea edi, [ebp - 0x968]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 8]
mov ecx, ebx
mov byte [ebp - 4], 0xa3
call fcn.10028550
mov edi, dword [ebp - 0x220]
mov ecx, edi
imul ecx, eax
mov byte [ebp - 4], 0x7b
mov eax, dword [ebx]
push esi
push 1
lea eax, [eax + ecx*4]
push eax
lea ecx, [ebp - 0x34c]
call fcn.1002852f
and dword [ebp - 0x338], 0
mov dword [ebp - 0x340], ebx
mov dword [ebp - 0x33c], edi
mov ecx, ebx
mov byte [ebp - 4], 0xa4
call fcn.10028550
mov dword [ebp - 0x334], eax
lea eax, [ebp - 0x974]
mov byte [ebp - 4], 0xa5
push eax
lea ecx, [ebp - 0x114]
call fcn.10031cf1
mov eax, dword [ebp - 0x968]
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0xa7
mov ecx, dword [ebp - 0x95c]
call fcn.10028560
mov esi, dword [ebp - 0x34c]
mov dword [ebp - 0x104], eax
mov byte [ebp - 4], 0xa9
mov ecx, dword [ebp - 0x340]
call fcn.10028550
lea ecx, [ebp - 0x34c]
mov byte [ebp - 4], 0x7b
call fcn.10028550
xor edx, edx
test eax, eax
jle 0x1001f066
mov ecx, dword [ebp - 0x10c]
fld dword [ecx + edx*4]
fmul dword [ebp - 0x114]
fstp dword [esi + edx*4]
inc edx
cmp edx, eax
jl 0x1001f04f
xor eax, eax
inc eax
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x22c], eax
jle 0x1001f212
mov eax, dword [ebp - 0x21c]
mov edi, dword [ebp - 0x20]
mov esi, dword [eax + 8]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xaa
call fcn.10028560
push esi
mov esi, dword [ebp - 0x228]
lea ecx, [ebp - 0x4b0]
push 1
mov byte [ebp - 4], 0x7b
lea eax, [edi + esi*4]
push eax
call fcn.1002852f
lea eax, [ebp - 0x20]
mov dword [ebp - 0x49c], esi
mov dword [ebp - 0x4a4], eax
mov ecx, eax
mov byte [ebp - 4], 0xab
call fcn.10028560
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0xaf8]
mov dword [ebp - 0x498], eax
mov eax, dword [ebp - 0x238]
mov eax, dword [eax]
movss xmm0, dword [eax + esi*4]
lea eax, [ebp - 0x250]
push eax
push dword [ebp - 0x4a8]
movss dword [ebp - 0x250], xmm0
push 1
call fcn.1002ae83
push eax
lea ecx, [ebp - 0x9a4]
call fcn.1002b053
push 7
pop ecx
lea esi, [ebp - 0x4b0]
lea edi, [ebp - 0x998]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 8]
mov ecx, ebx
mov byte [ebp - 4], 0xad
call fcn.10028550
mov edi, dword [ebp - 0x220]
imul eax, edi
mov byte [ebp - 4], 0x7b
mov ecx, dword [ebx]
push esi
push 1
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x368]
call fcn.1002852f
and dword [ebp - 0x354], 0
mov dword [ebp - 0x35c], ebx
mov dword [ebp - 0x358], edi
mov ecx, ebx
mov byte [ebp - 4], 0xae
call fcn.10028550
mov dword [ebp - 0x350], eax
lea eax, [ebp - 0x9a4]
mov byte [ebp - 4], 0xaf
push eax
lea ecx, [ebp - 0xfc]
call fcn.10031cf1
mov eax, dword [ebp - 0x998]
mov dword [ebp - 0xf4], eax
mov byte [ebp - 4], 0xb1
mov ecx, dword [ebp - 0x98c]
call fcn.10028560
mov esi, dword [ebp - 0x368]
mov dword [ebp - 0xec], eax
mov byte [ebp - 4], 0xb3
mov ecx, dword [ebp - 0x35c]
call fcn.10028550
lea ecx, [ebp - 0x368]
mov byte [ebp - 4], 0x7b
call fcn.10028550
xor ecx, ecx
test eax, eax
jle 0x1001f1f9
mov edx, dword [ebp - 0xf4]
fld dword [edx + ecx*4]
fmul dword [ebp - 0xfc]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x218]
fadd dword [esi + ecx*4]
fstp dword [esi + ecx*4]
inc ecx
cmp ecx, eax
jl 0x1001f1d9
mov eax, dword [ebp - 0x228]
inc eax
mov dword [ebp - 0x228], eax
cmp eax, dword [ebp - 0x22c]
jl 0x1001f07b
inc edi
mov dword [ebp - 0x220], edi
cmp edi, dword [ebx + 4]
jl 0x1001eb28
lea ecx, [ebp - 0x20]
call fcn.1001f238
lea ecx, [ebp - 0x28]
call fcn.1001f238
call fcn.10120e59
ret