Function at 0x10006b61
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push 8
push 0xb68
mov eax, 0x1009d8ca
call fcn.1009b90b
mov dword [ebp - 0x300], ecx
mov edi, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x2ec], esi
mov dword [ebp - 0x2e8], edi
cmp byte [edi], 0
jne 0x10006b96
mov ecx, edi
call fcn.10003b4b
lea eax, [esi + 0xc]
mov ecx, eax
mov dword [ebp - 0x2e0], eax
call fcn.10018fb0
mov dword [ebp - 0x2f0], eax
lea eax, [esi + 0x84]
mov ecx, eax
mov dword [ebp - 0x2d8], eax
call fcn.10018fb0
lea ecx, [esi + 0xc]
mov dword [ebp - 0x30c], eax
call fcn.10018fb0
mov esi, eax
mov eax, dword [ebp - 0x2ec]
add eax, 0x18
mov ecx, eax
mov dword [ebp - 0x2dc], eax
call fcn.10018fb0
mov dword [ebp - 0x304], eax
imul eax, esi, 3
mov esi, dword [ebp - 0x2ec]
push esi
mov ecx, dword [esi + 0x120]
or dword [edi + 0x1e8], ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x308], eax
call fcn.1000a444
push esi
lea ecx, [ebp - 0x18]
call fcn.1000a444
cmp byte [esi + 0x124], 0
jne 0x10008c6c
mov eax, dword [ebp - 0x30c]
cmp eax, dword [ebp - 0x2f0]
je 0x10008585
mov eax, dword [ebp - 0x308]
cmp dword [ebp - 0x304], eax
je 0x10008585
test byte [edi + 0x1e8], 1
je 0x10006e19
lea eax, [ebp - 0x844]
mov ecx, esi
push eax
call fcn.100199f5
add edi, 0x58
mov ecx, eax
mov dword [ebp - 0x2dc], edi
call fcn.1001c950
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.1001c950
mov dword [ebp - 0x2d4], eax
and dword [ebp - 4], 0
lea eax, [ebp - 0x174]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2d0], eax
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.10018fb0
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], esi
mov esi, dword [ebp - 0x2d8]
mov dword [ebp - 4], 2
mov ecx, dword [esi + 4]
call fcn.10018fb0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.1001c94c
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.10018fb0
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x10006d09
mov ecx, edi
call fcn.1001c94c
cmp eax, esi
je 0x10006d35
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10006d28
test esi, esi
je 0x10006d28
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10006d28
call fcn.100022bd
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.1001cc2d
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], esi
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.1001c950
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x74], ecx
xor esi, esi
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x70], ecx
lea ecx, [ebp - 0x313]
mov dword [ebp - 0x6c], ecx
lea ecx, [ebp - 0x74]
call fcn.10057bfe
test eax, eax
jle 0x10006de8
lea ecx, [ebp - 0x74]
xor edi, edi
call fcn.10052a91
test eax, eax
jle 0x10006ddb
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, edi
add eax, esi
shl eax, 3
add ecx, eax
call fcn.1005677c
mov eax, dword [ebp - 0x74]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, esi
add eax, edi
inc edi
fstp dword [ecx + eax*4]
lea ecx, [ebp - 0x74]
call fcn.10052a91
cmp edi, eax
jl 0x10006d9a
lea ecx, [ebp - 0x74]
inc esi
call fcn.10057bfe
cmp esi, eax
jl 0x10006d8c
lea ecx, [ebp - 0xac]
call fcn.10010a70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x178]
call fcn.10010a70
mov ecx, dword [ebp - 0x2dc]
call fcn.1001c950
mov edi, dword [ebp - 0x2e8]
mov esi, dword [ebp - 0x2ec]
test byte [edi + 0x1e8], 4
je 0x10007180
lea eax, [ebp - 0x838]
lea ecx, [esi + 0x48]
push eax
call fcn.100199f5
add edi, 0x64
mov ecx, eax
mov dword [ebp - 0x2f0], edi
call fcn.1001c950
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.1001c950
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 4], 5
lea eax, [ebp - 0x168]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2d0], eax
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.10018fb0
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], esi
mov esi, dword [ebp - 0x2d8]
mov dword [ebp - 4], 7
mov ecx, dword [esi + 4]
call fcn.10018fb0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.1001c94c
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.10018fb0
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x10006edd
mov ecx, edi
call fcn.1001c94c
cmp eax, esi
je 0x10006f09
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10006efc
test esi, esi
je 0x10006efc
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10006efc
call fcn.100022bd
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.1001cc2d
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], esi
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.1001c950
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x64], ecx
xor esi, esi
lea ecx, [ebp - 0x16c]
mov dword [ebp - 0x60], ecx
lea ecx, [ebp - 0x30d]
mov dword [ebp - 0x5c], ecx
lea ecx, [ebp - 0x64]
call fcn.10057bfe
test eax, eax
jle 0x10006fba
lea ecx, [ebp - 0x64]
xor edi, edi
call fcn.10052a91
test eax, eax
jle 0x10006fad
mov eax, dword [ebp - 0x60]
mov ecx, edi
imul ecx, dword [eax + 8]
add ecx, esi
shl ecx, 3
add ecx, dword [eax + 4]
call fcn.1005677c
mov eax, dword [ebp - 0x64]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, esi
add eax, edi
inc edi
fstp dword [ecx + eax*4]
lea ecx, [ebp - 0x64]
call fcn.10052a91
cmp edi, eax
jl 0x10006f6e
lea ecx, [ebp - 0x64]
inc esi
call fcn.10057bfe
cmp esi, eax
jl 0x10006f60
lea ecx, [ebp - 0xf4]
call fcn.10010a70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x16c]
call fcn.10010a70
mov edi, dword [ebp - 0x2f0]
mov ecx, edi
call fcn.1001c950
cmp byte [ebx + 0xc], 0
je 0x1000717a
lea eax, [ebp - 0x82c]
mov ecx, edi
push eax
call fcn.100199f5
mov ecx, eax
call fcn.1001c950
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.1001c950
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 4], 0xa
lea eax, [ebp - 0x15c]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2d0], eax
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], esi
mov esi, dword [ebp - 0x2d8]
mov dword [ebp - 4], 0xc
mov ecx, dword [esi + 4]
call fcn.10018fb0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.1001c94c
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.10018fb0
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x10007098
mov ecx, edi
call fcn.1001c94c
cmp eax, esi
je 0x100070c4
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x100070b7
test esi, esi
je 0x100070b7
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x100070b7
call fcn.100022bd
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.1001cc2d
mov ecx, edi
mov byte [ebp - 4], 0xd
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], esi
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.1001c950
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x124], ecx
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x120], ecx
lea ecx, [ebp - 0x30e]
mov dword [ebp - 0x11c], ecx
lea ecx, [ebp - 0x124]
call fcn.10057c05
mov esi, eax
xor edx, edx
test esi, esi
jle 0x10007155
mov eax, dword [ebp - 0x120]
mov ecx, edx
inc edx
mov eax, dword [eax + 4]
movss xmm0, dword [eax + ecx*4]
mov eax, dword [ebp - 0x124]
xorps xmm0, xmmword [0x1010e3f0]
mov eax, dword [eax]
movss dword [eax + ecx*4], xmm0
cmp edx, esi
jl 0x1000712c
lea ecx, [ebp - 0xb4]
call fcn.10010a70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x160]
call fcn.10010a70
mov ecx, dword [ebp - 0x2f0]
call fcn.1001c950
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 8
je 0x10007354
mov ecx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x814]
add ecx, 0x54
push eax
call fcn.100199f5
add edi, 0x70
mov ecx, eax
mov dword [ebp - 0x2dc], edi
call fcn.1001c950
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.1001c950
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 4], 0xf
lea eax, [ebp - 0x150]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2d0], eax
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.10018fb0
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], esi
mov esi, dword [ebp - 0x2d8]
mov dword [ebp - 4], 0x11
mov ecx, dword [esi + 4]
call fcn.10018fb0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.1001c94c
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.10018fb0
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x1000724a
mov ecx, edi
call fcn.1001c94c
cmp eax, esi
je 0x10007276
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10007269
test esi, esi
je 0x10007269
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10007269
call fcn.100022bd
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.1001cc2d
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], esi
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.1001c950
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x54], ecx
xor esi, esi
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0x30f]
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x54]
call fcn.10057bfe
test eax, eax
jle 0x10007329
lea ecx, [ebp - 0x54]
xor edi, edi
call fcn.10052a91
test eax, eax
jle 0x1000731c
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, edi
add eax, esi
shl eax, 3
add ecx, eax
call fcn.1005677c
mov eax, dword [ebp - 0x54]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, esi
add eax, edi
inc edi
fstp dword [ecx + eax*4]
lea ecx, [ebp - 0x54]
call fcn.10052a91
cmp edi, eax
jl 0x100072db
lea ecx, [ebp - 0x54]
inc esi
call fcn.10057bfe
cmp esi, eax
jl 0x100072cd
lea ecx, [ebp - 0xbc]
call fcn.10010a70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x154]
call fcn.10010a70
mov ecx, dword [ebp - 0x2dc]
call fcn.1001c950
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 0x10
je 0x10007528
mov ecx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x8e4]
push eax
lea ecx, [ecx + 0x60]
call fcn.100199f5
add edi, 0x7c
mov ecx, eax
mov dword [ebp - 0x2dc], edi
call fcn.1001c950
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.1001c950
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 4], 0x14
lea eax, [ebp - 0x144]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2d0], eax
mov ecx, edi
mov byte [ebp - 4], 0x15
call fcn.10018fb0
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], esi
mov esi, dword [ebp - 0x2d8]
mov dword [ebp - 4], 0x16
mov ecx, dword [esi + 4]
call fcn.10018fb0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.1001c94c
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.10018fb0
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x1000741e
mov ecx, edi
call fcn.1001c94c
cmp eax, esi
je 0x1000744a
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x1000743d
test esi, esi
je 0x1000743d
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x1000743d
call fcn.100022bd
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.1001cc2d
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], esi
mov ecx, edi
mov byte [ebp - 4], 0x18
call fcn.1001c950
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x44], ecx
xor esi, esi
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x310]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x44]
call fcn.10057bfe
test eax, eax
jle 0x100074fd
lea ecx, [ebp - 0x44]
xor edi, edi
call fcn.10052a91
test eax, eax
jle 0x100074f0
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, edi
add eax, esi
shl eax, 3
add ecx, eax
call fcn.1005677c
mov eax, dword [ebp - 0x44]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, esi
add eax, edi
inc edi
fstp dword [ecx + eax*4]
lea ecx, [ebp - 0x44]
call fcn.10052a91
cmp edi, eax
jl 0x100074af
lea ecx, [ebp - 0x44]
inc esi
call fcn.10057bfe
cmp esi, eax
jl 0x100074a1
lea ecx, [ebp - 0xc4]
call fcn.10010a70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x148]
call fcn.10010a70
mov ecx, dword [ebp - 0x2dc]
call fcn.1001c950
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 0x20
je 0x10007711
mov ecx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x8d8]
push eax
lea ecx, [ecx + 0x6c]
call fcn.100199f5
add edi, 0x88
mov ecx, eax
mov dword [ebp - 0x2dc], edi
call fcn.1001c950
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.1001c950
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0x138]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2d0], eax
mov ecx, edi
mov byte [ebp - 4], 0x1a
call fcn.10018fb0
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], esi
mov esi, dword [ebp - 0x2d8]
mov dword [ebp - 4], 0x1b
mov ecx, dword [esi + 4]
call fcn.10018fb0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.1001c94c
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.10018fb0
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x100075f5
mov ecx, edi
call fcn.1001c94c
cmp eax, esi
je 0x10007621
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10007614
test esi, esi
je 0x10007614
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10007614
call fcn.100022bd
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.1001cc2d
mov ecx, edi
mov byte [ebp - 4], 0x1c
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], esi
mov ecx, edi
mov byte [ebp - 4], 0x1d
call fcn.1001c950
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x84], ecx
xor esi, esi
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x80], ecx
lea ecx, [ebp - 0x311]
mov dword [ebp - 0x7c], ecx
lea ecx, [ebp - 0x84]
call fcn.10057bfe
test eax, eax
jle 0x100076e6
lea ecx, [ebp - 0x84]
xor edi, edi
call fcn.10052a91
test eax, eax
jle 0x100076d6
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, edi
add eax, esi
shl eax, 3
add ecx, eax
call fcn.1005677c
mov eax, dword [ebp - 0x84]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, esi
add eax, edi
inc edi
fstp dword [ecx + eax*4]
lea ecx, [ebp - 0x84]
call fcn.10052a91
cmp edi, eax
jl 0x1000768f
lea ecx, [ebp - 0x84]
inc esi
call fcn.10057bfe
cmp esi, eax
jl 0x1000767e
lea ecx, [ebp - 0xcc]
call fcn.10010a70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.10010a70
mov ecx, dword [ebp - 0x2dc]
call fcn.1001c950
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 0x80
je 0x100078f7
mov ecx, dword [ebp - 0x2e0]
lea eax, [ebp - 0x8cc]
push eax
call fcn.100199f5
add edi, 0x1c4
mov ecx, eax
mov dword [ebp - 0x2dc], edi
call fcn.1001c950
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.1001c950
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 4], 0x1e
lea eax, [ebp - 0x12c]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2d0], eax
mov ecx, edi
mov byte [ebp - 4], 0x1f
call fcn.10018fb0
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], esi
mov esi, dword [ebp - 0x2d8]
mov dword [ebp - 4], 0x20
mov ecx, dword [esi + 4]
call fcn.10018fb0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.1001c94c
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.10018fb0
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x100077db
mov ecx, edi
call fcn.1001c94c
cmp eax, esi
je 0x10007807
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x100077fa
test esi, esi
je 0x100077fa
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x100077fa
call fcn.100022bd
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.1001cc2d
mov ecx, edi
mov byte [ebp - 4], 0x21
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], esi
mov ecx, edi
mov byte [ebp - 4], 0x22
call fcn.1001c950
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x94], ecx
xor esi, esi
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x90], ecx
lea ecx, [ebp - 0x312]
mov dword [ebp - 0x8c], ecx
lea ecx, [ebp - 0x94]
call fcn.10057bfe
test eax, eax
jle 0x100078cc
lea ecx, [ebp - 0x94]
xor edi, edi
call fcn.10052a91
test eax, eax
jle 0x100078bc
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, edi
add eax, esi
shl eax, 2
add ecx, eax
call fcn.10018fb4
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
imul ecx, esi
add ecx, edi
inc edi
mov dword [edx + ecx*4], eax
lea ecx, [ebp - 0x94]
call fcn.10052a91
cmp edi, eax
jl 0x1000787e
lea ecx, [ebp - 0x94]
inc esi
call fcn.10057bfe
cmp esi, eax
jl 0x1000786d
lea ecx, [ebp - 0xd4]
call fcn.10010a70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x130]
call fcn.10010a70
mov ecx, dword [ebp - 0x2dc]
call fcn.1001c950
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 2
je 0x10007af6
mov ecx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x850]
push eax
lea ecx, [ecx + 0x78]
call fcn.100199f5
add edi, 0x94
mov ecx, eax
mov dword [ebp - 0x2d4], edi
call fcn.1001c950
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.1001c950
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 4], 0x23
lea eax, [ebp - 0x1b0]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2d0], eax
mov ecx, edi
mov byte [ebp - 4], 0x24
call fcn.10018fb0
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], esi
mov esi, dword [ebp - 0x2d8]
mov dword [ebp - 4], 0x25
mov ecx, dword [esi + 4]
call fcn.10018fb0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.1001c94c
mov esi, dword [ebp - 0x2f0]
mov ecx, esi
mov dword [ebp - 0x2cc], eax
call fcn.10018fb0
cmp eax, edi
jne 0x100079c0
mov ecx, esi
call fcn.1001c94c
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
je 0x100079f2
jmp 0x100079c6
mov ecx, dword [ebp - 0x2cc]
test edi, edi
je 0x100079df
test ecx, ecx
je 0x100079df
mov eax, 0x7fffffff
cdq
idiv ecx
cmp edi, eax
jle 0x100079df
call fcn.100022bd
mov eax, dword [ebp - 0x2cc]
mov ecx, esi
push eax
push edi
imul edi, eax
push edi
call fcn.1001cc2d
mov ecx, esi
mov byte [ebp - 4], 0x26
call fcn.1001c94c
mov ecx, dword [ebp - 0x2f0]
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], esi
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x2f0]
call fcn.1001c950
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa4], ecx
xor esi, esi
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0xa0], ecx
lea ecx, [ebp - 0x316]
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0xa4]
call fcn.10057bfe
test eax, eax
jle 0x10007acb
lea ecx, [ebp - 0xa4]
xor edi, edi
call fcn.10052a91
test eax, eax
jle 0x10007abb
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, edi
add eax, esi
shl eax, 3
add ecx, eax
call fcn.1005677c
mov eax, dword [ebp - 0xa4]
mov ecx, esi
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d8]
imul ecx, dword [eax + 4]
mov edx, dword [eax]
add ecx, edi
inc edi
fstp dword [edx + ecx*4]
lea ecx, [ebp - 0xa4]
call fcn.10052a91
cmp edi, eax
jl 0x10007a71
lea ecx, [ebp - 0xa4]
inc esi
call fcn.10057bfe
cmp esi, eax
jl 0x10007a60
lea ecx, [ebp - 0xdc]
call fcn.10010a70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b4]
call fcn.10010a70
mov ecx, dword [ebp - 0x2d4]
call fcn.1001c950
mov edi, dword [ebp - 0x2e8]
mov esi, dword [ebp - 0x2ec]
test byte [edi + 0x1e8], 0x40
je 0x10007c28
mov eax, dword [esi + 0x94]
lea ecx, [edi + 0x1bc]
mov dword [edi + 0x1ac], eax
mov eax, dword [esi + 0x98]
mov dword [edi + 0x1b0], eax
mov eax, dword [esi + 0x98]
imul eax, dword [esi + 0x94]
mov dword [ebp - 0x2cc], ecx
shl eax, 2
push eax
call fcn.100199bc
mov eax, dword [esi + 0x94]
imul eax, dword [esi + 0x98]
and dword [ebp - 0x2d0], 0
test eax, eax
je 0x10007c28
mov edi, dword [ebp - 0x2d0]
lea eax, [esi + 0x90]
mov ecx, eax
mov dword [ebp - 4], 0x50
call fcn.10018fb0
mov eax, dword [esi + 0x90]
mov cl, byte [eax + edi]
mov eax, dword [ebp - 0x2cc]
mov eax, dword [eax]
mov byte [eax + edi*4], cl
lea ecx, [esi + 0x9c]
mov dword [ebp - 4], 0x52
call fcn.10018fb0
mov eax, dword [esi + 0x9c]
mov cl, byte [eax + edi]
mov eax, dword [ebp - 0x2cc]
mov eax, dword [eax]
mov byte [eax + edi*4 + 1], cl
lea ecx, [esi + 0xa8]
mov dword [ebp - 4], 0x54
call fcn.10018fb0
mov eax, dword [esi + 0xa8]
mov cl, byte [eax + edi]
mov eax, dword [ebp - 0x2cc]
mov eax, dword [eax]
mov byte [eax + edi*4 + 2], cl
lea ecx, [esi + 0xb4]
mov dword [ebp - 4], 0x56
call fcn.10018fb0
or dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0xb4]
mov cl, byte [eax + edi]
mov eax, dword [ebp - 0x2cc]
mov eax, dword [eax]
mov byte [eax + edi*4 + 3], cl
inc edi
mov eax, dword [esi + 0x94]
imul eax, dword [esi + 0x98]
cmp edi, eax
lea eax, [esi + 0x90]
jb 0x10007b6b
mov edi, dword [ebp - 0x2e8]
test dword [edi + 0x1e8], 0x100
je 0x100081a9
lea eax, [edi + 0xa0]
mov dword [ebp - 0x2d8], eax
mov eax, dword [esi + 0xc4]
add eax, eax
mov dword [ebp - 0x2d0], eax
je 0x10007c66
cmp eax, 0x2aaaaaaa
jle 0x10007c66
call fcn.100022bd
mov eax, dword [ebp - 0x2d0]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0xa0]
push eax
call fcn.1001cc2d
lea eax, [edi + 0xac]
mov dword [ebp - 0x2d4], eax
mov eax, dword [esi + 0xc4]
add eax, eax
mov dword [ebp - 0x2d0], eax
je 0x10007ca6
cmp eax, 0x2aaaaaaa
jle 0x10007ca6
call fcn.100022bd
mov eax, dword [ebp - 0x2d0]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0xac]
push eax
call fcn.1001cc2d
mov eax, dword [esi + 0xc4]
lea ecx, [edi + 0x1d0]
add eax, eax
mov dword [ebp - 0x2f0], ecx
push 1
push eax
push eax
call fcn.1001cc2d
and dword [ebp - 0x2e0], 0
cmp dword [esi + 0xc4], 0
jbe 0x100081a9
and dword [ebp - 0x2e4], 0
lea eax, [esi + 0xc0]
mov edi, dword [ebp - 0x2e0]
mov dword [ebp - 0x2cc], eax
mov esi, dword [eax]
mov ecx, eax
mov dword [ebp - 4], 0x58
call fcn.10018fb0
and dword [ebp - 0x53c], 0
lea eax, [esi + edi*8]
mov dword [ebp - 0x540], edi
lea esi, [ebp - 0x54c]
mov dword [ebp - 0x54c], eax
lea edi, [ebp - 0x9f4]
push 6
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2cc]
pop ecx
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x538], 1
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2d8]
mov esi, dword [edi + 8]
mov ecx, edi
mov dword [ebp - 4], 0x5a
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
mov ecx, dword [edi]
push esi
mov esi, dword [ebp - 0x2e4]
imul eax, esi
push 1
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x3dc]
call fcn.100279ab
and dword [ebp - 0x3c8], 0
mov dword [ebp - 0x3d0], edi
mov dword [ebp - 0x3cc], esi
mov ecx, edi
mov dword [ebp - 4], 0x5b
call fcn.1001c94c
mov dword [ebp - 0x3c4], eax
mov dword [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x9ec]
call fcn.10018fb0
mov edi, dword [ebp - 0x3dc]
mov esi, eax
mov dword [ebp - 4], 0x5f
mov ecx, dword [ebp - 0x3d0]
call fcn.1001c94c
mov edx, dword [ebp - 0x3d4]
xor ecx, ecx
test edx, edx
jle 0x10007e01
mov eax, dword [ebp - 0x2d0]
shl esi, 3
fld qword [eax]
add eax, esi
fstp dword [edi + ecx*4]
inc ecx
cmp ecx, edx
jl 0x10007df5
mov edi, dword [ebp - 0x2cc]
mov esi, dword [edi]
mov ecx, edi
mov dword [ebp - 4], 0x60
call fcn.10018fb0
mov ecx, dword [ebp - 0x2e0]
imul eax, eax, 3
mov dword [ebp - 0x55c], edi
lea edi, [ebp - 0xa14]
mov dword [ebp - 0x558], ecx
push 6
mov dword [ebp - 0x554], 3
add eax, ecx
mov dword [ebp - 0x550], 1
pop ecx
lea eax, [esi + eax*8]
lea esi, [ebp - 0x564]
mov dword [ebp - 0x564], eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2d8]
mov dword [ebp - 0x2d0], eax
mov esi, dword [edi + 8]
mov ecx, edi
mov dword [ebp - 4], 0x62
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2e4]
mov ecx, dword [edi]
inc edx
imul eax, edx
push esi
push 1
mov dword [ebp - 0x2dc], edx
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x3f8]
call fcn.100279ab
mov ecx, dword [ebp - 0x2dc]
and dword [ebp - 0x3e4], 0
mov dword [ebp - 0x3ec], edi
mov dword [ebp - 0x3e8], ecx
mov ecx, edi
mov dword [ebp - 4], 0x63
call fcn.1001c94c
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 4], 0x64
mov ecx, dword [ebp - 0xa0c]
call fcn.10018fb0
mov edi, dword [ebp - 0x3f8]
mov esi, eax
mov dword [ebp - 4], 0x67
mov ecx, dword [ebp - 0x3ec]
call fcn.1001c94c
mov edx, dword [ebp - 0x3f0]
xor ecx, ecx
test edx, edx
jle 0x10007f1b
mov eax, dword [ebp - 0x2d0]
shl esi, 3
fld qword [eax]
add eax, esi
fstp dword [edi + ecx*4]
inc ecx
cmp ecx, edx
jl 0x10007f0f
mov edi, dword [ebp - 0x2cc]
mov esi, dword [edi]
mov ecx, edi
mov dword [ebp - 4], 0x68
call fcn.10018fb0
mov ecx, dword [ebp - 0x2e0]
imul eax, eax, 6
push 6
mov dword [ebp - 0x574], edi
lea edi, [ebp - 0x9b4]
mov dword [ebp - 0x570], ecx
mov dword [ebp - 0x568], 1
add eax, ecx
lea eax, [esi + eax*8]
mov dword [ebp - 0x57c], eax
lea esi, [ebp - 0x57c]
mov dword [ebp - 0x2d0], eax
pop eax
mov ecx, eax
mov dword [ebp - 0x56c], eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2d4]
mov esi, dword [edi + 8]
mov ecx, edi
mov dword [ebp - 4], 0x6a
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
mov ecx, dword [edi]
push esi
mov esi, dword [ebp - 0x2e4]
imul eax, esi
push 1
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x414]
call fcn.100279ab
and dword [ebp - 0x400], 0
mov dword [ebp - 0x408], edi
mov dword [ebp - 0x404], esi
mov ecx, edi
mov dword [ebp - 4], 0x6b
call fcn.1001c94c
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 4], 0x6c
mov ecx, dword [ebp - 0x9ac]
call fcn.10018fb0
mov edi, dword [ebp - 0x414]
mov esi, eax
mov dword [ebp - 4], 0x6f
mov ecx, dword [ebp - 0x408]
call fcn.1001c94c
mov edx, dword [ebp - 0x40c]
xor ecx, ecx
test edx, edx
jle 0x10008026
mov eax, dword [ebp - 0x2d0]
shl esi, 3
fld qword [eax]
add eax, esi
fstp dword [edi + ecx*4]
inc ecx
cmp ecx, edx
jl 0x1000801a
mov edi, dword [ebp - 0x2cc]
mov esi, dword [edi]
mov ecx, edi
mov dword [ebp - 4], 0x70
call fcn.10018fb0
mov ecx, dword [ebp - 0x2e0]
imul eax, eax, 6
push 6
mov dword [ebp - 0x658], edi
lea edi, [ebp - 0x9d4]
mov dword [ebp - 0x654], ecx
mov dword [ebp - 0x64c], 1
add eax, ecx
lea eax, [esi + eax*8]
mov dword [ebp - 0x660], eax
lea esi, [ebp - 0x660]
mov dword [ebp - 0x2d0], eax
pop eax
mov ecx, eax
mov dword [ebp - 0x650], eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2d4]
mov esi, dword [edi + 8]
mov ecx, edi
mov dword [ebp - 4], 0x72
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
mov edx, dword [edi]
push esi
mov esi, dword [ebp - 0x2dc]
mov ecx, esi
imul ecx, eax
push 1
lea eax, [edx + ecx*4]
push eax
lea ecx, [ebp - 0x430]
call fcn.100279ab
and dword [ebp - 0x41c], 0
mov dword [ebp - 0x424], edi
mov dword [ebp - 0x420], esi
mov ecx, edi
mov dword [ebp - 4], 0x73
call fcn.1001c94c
mov dword [ebp - 0x418], eax
mov dword [ebp - 4], 0x74
mov ecx, dword [ebp - 0x9cc]
call fcn.10018fb0
mov edi, dword [ebp - 0x430]
mov esi, eax
mov dword [ebp - 4], 0x77
mov ecx, dword [ebp - 0x424]
call fcn.1001c94c
mov edx, dword [ebp - 0x428]
xor ecx, ecx
test edx, edx
jle 0x10008133
mov eax, dword [ebp - 0x2d0]
shl esi, 3
fld qword [eax]
add eax, esi
fstp dword [edi + ecx*4]
inc ecx
cmp ecx, edx
jl 0x10008127
mov dword [ebp - 4], 0x78
mov ecx, dword [ebp - 0x2f0]
call fcn.1001c94c
mov ecx, dword [ebp - 0x2f0]
mov edi, dword [ebp - 0x2e0]
mov esi, dword [ebp - 0x2e4]
mov eax, dword [ecx]
mov dword [eax + edi*8], esi
mov dword [ebp - 4], 0x79
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
lea ecx, [esi + 1]
mov eax, dword [ebp - 0x2f0]
add esi, 2
mov dword [ebp - 0x2e4], esi
mov esi, dword [ebp - 0x2ec]
mov eax, dword [eax]
mov dword [eax + edi*8 + 4], ecx
inc edi
lea eax, [esi + 0xc0]
mov dword [ebp - 0x2e0], edi
cmp edi, dword [esi + 0xc4]
jb 0x10007d02
mov edi, dword [ebp - 0x2e8]
test dword [edi + 0x1e8], 0x200
je 0x10008518
lea eax, [edi + 0xb8]
mov dword [ebp - 0x2d8], eax
mov eax, dword [esi + 0xd0]
mov dword [ebp - 0x2d0], eax
test eax, eax
je 0x100081e7
cmp eax, 0x2aaaaaaa
jle 0x100081e7
call fcn.100022bd
mov eax, dword [ebp - 0x2d0]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0xb8]
push eax
call fcn.1001cc2d
lea eax, [edi + 0xc4]
mov dword [ebp - 0x2d4], eax
mov eax, dword [esi + 0xd0]
mov dword [ebp - 0x2d0], eax
test eax, eax
je 0x10008227
cmp eax, 0x2aaaaaaa
jle 0x10008227
call fcn.100022bd
mov eax, dword [ebp - 0x2d0]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0xc4]
push eax
call fcn.1001cc2d
mov eax, dword [esi + 0xd0]
lea ecx, [edi + 0x1dc]
push 1
push eax
push eax
mov dword [ebp - 0x2dc], ecx
call fcn.1001cc2d
and dword [ebp - 0x2e0], 0
cmp dword [esi + 0xd0], 0
jbe 0x10008518
mov edi, dword [ebp - 0x2e0]
lea eax, [esi + 0xcc]
mov dword [ebp - 0x2cc], eax
mov esi, dword [eax]
mov ecx, eax
mov dword [ebp - 4], 0x7a
call fcn.10018fb0
or dword [ebp - 4], 0xffffffff
lea eax, [esi + edi*8]
push eax
lea ecx, [ebp - 0x594]
call fcn.1000a444
mov eax, dword [ebp - 0x2cc]
lea esi, [ebp - 0x594]
and dword [ebp - 0x584], 0
mov dword [ebp - 0x588], edi
lea edi, [ebp - 0x804]
push 6
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x580], 1
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2d8]
mov esi, dword [edi + 8]
mov ecx, edi
mov dword [ebp - 4], 0x7c
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
mov edx, dword [edi]
mov edi, dword [ebp - 0x2e0]
mov ecx, edi
imul ecx, eax
push esi
push 1
lea eax, [edx + ecx*4]
push eax
lea ecx, [ebp - 0x4d8]
call fcn.100279ab
mov eax, dword [ebp - 0x2d8]
and dword [ebp - 0x4c4], 0
mov dword [ebp - 0x4cc], eax
mov dword [ebp - 0x4c8], edi
mov ecx, eax
mov dword [ebp - 4], 0x7d
call fcn.1001c94c
mov esi, dword [ebp - 0x804]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 4], 0x7e
mov ecx, dword [ebp - 0x7fc]
call fcn.10018fb0
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x4d8]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 4], 0x81
mov ecx, dword [ebp - 0x4cc]
call fcn.1001c94c
mov edx, dword [ebp - 0x4d0]
xor ecx, ecx
test edx, edx
jle 0x100083a1
mov eax, dword [ebp - 0x2d0]
mov edi, dword [ebp - 0x2f4]
shl eax, 3
fld qword [esi]
add esi, eax
fstp dword [edi + ecx*4]
inc ecx
cmp ecx, edx
jl 0x1000838f
mov edi, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x2cc]
mov esi, dword [eax]
mov ecx, eax
mov dword [ebp - 4], 0x82
call fcn.10018fb0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5ac]
imul eax, eax, 3
add eax, edi
lea eax, [esi + eax*8]
push eax
call fcn.1000a444
mov eax, dword [ebp - 0x2cc]
lea esi, [ebp - 0x5ac]
mov dword [ebp - 0x5a0], edi
lea edi, [ebp - 0x7e4]
push 6
mov dword [ebp - 0x5a4], eax
mov dword [ebp - 0x59c], 3
mov dword [ebp - 0x598], 1
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2d4]
mov esi, dword [edi + 8]
mov ecx, edi
mov dword [ebp - 4], 0x84
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
mov edx, dword [edi]
mov edi, dword [ebp - 0x2e0]
mov ecx, edi
imul ecx, eax
push esi
push 1
lea eax, [edx + ecx*4]
push eax
lea ecx, [ebp - 0x44c]
call fcn.100279ab
mov eax, dword [ebp - 0x2d4]
and dword [ebp - 0x438], 0
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], edi
mov ecx, eax
mov dword [ebp - 4], 0x85
call fcn.1001c94c
mov esi, dword [ebp - 0x7e4]
mov dword [ebp - 0x434], eax
mov dword [ebp - 4], 0x86
mov ecx, dword [ebp - 0x7dc]
call fcn.10018fb0
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 4], 0x89
mov ecx, dword [ebp - 0x440]
call fcn.1001c94c
mov edx, dword [ebp - 0x444]
xor ecx, ecx
test edx, edx
jle 0x100084d6
mov eax, dword [ebp - 0x2d0]
mov edi, dword [ebp - 0x2f4]
shl eax, 3
fld qword [esi]
add esi, eax
fstp dword [edi + ecx*4]
inc ecx
cmp ecx, edx
jl 0x100084c4
mov edi, dword [ebp - 0x2e0]
mov esi, dword [ebp - 0x2dc]
mov ecx, esi
mov dword [ebp - 4], 0x8a
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
mov eax, dword [esi]
mov dword [eax + edi*4], edi
inc edi
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2e0], edi
cmp edi, dword [eax + 0xd0]
mov eax, dword [ebp - 0x2cc]
jb 0x1000827a
mov edi, dword [ebp - 0x2e8]
test dword [edi + 0x1e8], 0x800
mov esi, dword [ebp - 0x300]
je 0x10009da5
cmp dword [esi + 0xe8], 0
jne 0x10009d89
mov edx, dword [esi + 0x10]
lea eax, [esi + 0xe4]
push 3
mov ecx, eax
mov dword [ebp - 0x2d4], eax
call fcn.1001bf84
xor eax, eax
lea edi, [ebp - 0x30]
stosd dword es:[edi], eax
pop ecx
lea ecx, [ebp - 0x328]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea edi, [esi + 0x18]
mov dword [ebp - 0x2d0], edi
mov dword [ebp - 0x324], edi
call fcn.1004a40a
test eax, eax
jne 0x10009498
fldz
jmp 0x1000957f
test byte [edi + 0x1e8], 1
je 0x1000859b
lea eax, [edi + 0x58]
push eax
push esi
lea ecx, [ebp - 0x18]
call fcn.1000a452
test byte [edi + 0x1e8], 8
je 0x100085ea
lea ecx, [esi + 0xc]
call fcn.10018fb0
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x100085cb
cmp eax, 0x1fffffff
jle 0x100085cb
call fcn.100022bd
mov eax, dword [ebp - 0x2d4]
push 4
push eax
shl eax, 2
lea ecx, [edi + 0x70]
push eax
call fcn.1001cc2d
lea eax, [edi + 0x70]
push eax
lea eax, [esi + 0x54]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000a452
test byte [edi + 0x1e8], 0x10
je 0x10008639
lea ecx, [esi + 0xc]
call fcn.10018fb0
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x1000861a
cmp eax, 0x1fffffff
jle 0x1000861a
call fcn.100022bd
mov eax, dword [ebp - 0x2d4]
push 4
push eax
shl eax, 2
lea ecx, [edi + 0x7c]
push eax
call fcn.1001cc2d
lea eax, [edi + 0x7c]
push eax
lea eax, [esi + 0x60]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000a452
test byte [edi + 0x1e8], 0x20
je 0x1000868e
lea ecx, [esi + 0xc]
call fcn.10018fb0
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x10008669
cmp eax, 0x1fffffff
jle 0x10008669
call fcn.100022bd
mov eax, dword [ebp - 0x2d4]
push 4
push eax
shl eax, 2
lea ecx, [edi + 0x88]
push eax
call fcn.1001cc2d
lea eax, [edi + 0x88]
push eax
lea eax, [esi + 0x6c]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000a452
test byte [edi + 0x1e8], 4
je 0x10008891
lea eax, [edi + 0x64]
lea ecx, [esi + 0xc]
mov dword [ebp - 0x2e4], eax
call fcn.10018fb0
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x100086cb
cmp eax, 0x2aaaaaaa
jle 0x100086cb
call fcn.100022bd
mov eax, dword [ebp - 0x2d4]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0x64]
push eax
call fcn.1001cc2d
lea eax, [edi + 0x64]
push eax
lea eax, [esi + 0x48]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000a452
cmp byte [ebx + 0xc], 0
je 0x10008891
mov ecx, dword [ebp - 0x2e4]
lea eax, [ebp - 0x820]
push eax
call fcn.100199f5
mov ecx, eax
call fcn.1001c950
mov ecx, dword [ebp - 0x2e4]
mov esi, eax
mov dword [ebp - 0x2d4], esi
call fcn.1001c950
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 4], 0x28
lea eax, [ebp - 0x180]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2d0], eax
mov ecx, edi
mov byte [ebp - 4], 0x29
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], esi
mov dword [ebp - 4], 0x2a
mov esi, dword [ebp - 0x2d4]
mov ecx, dword [esi + 4]
call fcn.10018fb0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.1001c94c
mov edi, dword [ebp - 0x2dc]
mov esi, eax
mov ecx, edi
call fcn.10018fb0
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x100087a9
mov ecx, edi
call fcn.1001c94c
cmp eax, esi
je 0x100087d5
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x100087c8
test esi, esi
je 0x100087c8
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x100087c8
call fcn.100022bd
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.1001cc2d
mov ecx, edi
mov byte [ebp - 4], 0x2b
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], esi
mov ecx, edi
mov byte [ebp - 4], 0x2c
call fcn.1001c950
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x104], ecx
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x100], ecx
lea ecx, [ebp - 0x315]
mov dword [ebp - 0xfc], ecx
lea ecx, [ebp - 0x104]
call fcn.10057c05
mov esi, eax
xor edx, edx
test esi, esi
jle 0x10008866
mov eax, dword [ebp - 0x100]
mov ecx, edx
inc edx
mov eax, dword [eax + 4]
movss xmm0, dword [eax + ecx*4]
mov eax, dword [ebp - 0x104]
xorps xmm0, xmmword [0x1010e3f0]
mov eax, dword [eax]
movss dword [eax + ecx*4], xmm0
cmp edx, esi
jl 0x1000883d
lea ecx, [ebp - 0xe4]
call fcn.10010a70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x184]
call fcn.10010a70
mov ecx, dword [ebp - 0x2e4]
call fcn.1001c950
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 0x80
je 0x10008a08
mov esi, dword [ebp - 0x2e0]
lea eax, [edi + 0x1c4]
mov ecx, esi
mov dword [ebp - 0x2dc], eax
call fcn.10018fb0
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x100088d3
cmp eax, 0x2aaaaaaa
jle 0x100088d3
call fcn.100022bd
mov eax, dword [ebp - 0x2d4]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0x1c4]
push eax
call fcn.1001cc2d
and dword [ebp - 0x2cc], 0
mov ecx, esi
call fcn.10018fb0
test eax, eax
je 0x10008a08
mov dword [ebp - 0x2e4], 2
mov ecx, dword [ebp - 0x2dc]
call fcn.1001c950
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x2d4], edi
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.1001c94c
push esi
mov esi, dword [ebp - 0x2d4]
mov edi, eax
push 1
mov ecx, esi
call fcn.10018fb4
imul edi, dword [ebp - 0x2cc]
lea ecx, [ebp - 0x724]
lea eax, [eax + edi*4]
push eax
call fcn.100279ab
mov edi, dword [ebp - 0x2cc]
mov ecx, esi
and dword [ebp - 0x710], 0
mov dword [ebp - 0x718], esi
mov dword [ebp - 0x714], edi
call fcn.1001c94c
mov esi, dword [ebp - 0x2e4]
lea ecx, [ebp - 0x724]
mov dword [ebp - 0x70c], eax
lea eax, [esi - 2]
mov dword [ebp - 0x340], eax
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x7a4]
push eax
call fcn.100348cd
lea ecx, [esi - 1]
mov dword [ebp - 4], 0x2d
mov dword [ebp - 0x348], ecx
lea ecx, [ebp - 0x348]
push ecx
mov ecx, eax
call fcn.10018edf
lea ecx, [ebp - 0x344]
mov dword [ebp - 0x344], esi
push ecx
mov ecx, eax
call fcn.10018edf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a4]
call fcn.10010a70
mov ecx, dword [ebp - 0x2e0]
inc edi
add esi, 3
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2e4], esi
call fcn.10018fb0
cmp edi, eax
jb 0x10008905
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 2
mov esi, dword [ebp - 0x2ec]
je 0x10007afc
lea eax, [esi + 0x78]
mov ecx, eax
mov dword [ebp - 0x2dc], eax
call fcn.10018fb0
test eax, eax
jle 0x10007afc
lea eax, [edi + 0x94]
lea ecx, [esi + 0xc]
mov dword [ebp - 0x308], eax
call fcn.10018fb0
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x10008a66
cmp eax, 0x3fffffff
jle 0x10008a66
call fcn.100022bd
mov eax, dword [ebp - 0x2d4]
push 2
push eax
add eax, eax
lea ecx, [edi + 0x94]
push eax
call fcn.1001cc2d
and dword [ebp - 0x2e4], 0
cmp dword [esi + 0x10], 0
jbe 0x10007afc
xor edi, edi
xor esi, esi
mov dword [ebp - 0x2fc], edi
mov dword [ebp - 0x2cc], esi
mov eax, dword [ebp - 0x30c]
cmp eax, dword [ebp - 0x2f0]
jne 0x10008aca
mov edi, dword [ebp - 0x2d8]
mov ecx, edi
mov dword [ebp - 4], 0x2e
call fcn.10018fb0
mov ecx, dword [edi]
imul eax, esi
add eax, dword [ebp - 0x2e4]
mov esi, dword [ecx + eax*4]
jmp 0x10008b12
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 4], 0x2f
call fcn.10018fb0
mov ecx, dword [ebp - 0x2e0]
mov edi, eax
call fcn.10018fb4
mov dword [ebp - 0x34c], edi
lea ecx, [ebp - 0x350]
imul edi, dword [ebp - 0x2cc]
mov esi, eax
mov dword [ebp - 0x350], esi
add edi, dword [ebp - 0x2e4]
call fcn.10010a70
mov esi, dword [esi + edi*4]
mov edx, dword [ebp - 0x2dc]
lea edi, [ebp - 0xa38]
and dword [ebp - 0x5b8], 0
mov dword [ebp - 0x5bc], esi
push 7
mov eax, dword [edx]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x5c4], ecx
pop ecx
lea eax, [eax + esi*8]
mov dword [ebp - 0x5c0], edx
lea esi, [ebp - 0x5cc]
mov dword [ebp - 0x5cc], eax
mov dword [ebp - 0x5b4], 1
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x308]
mov dword [ebp - 0x2d4], eax
mov esi, dword [edi + 8]
mov ecx, edi
mov dword [ebp - 4], 0x32
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
mov ecx, dword [edi]
mov edi, dword [ebp - 0x2fc]
imul eax, edi
push esi
push 1
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x388]
call fcn.100279ab
mov eax, dword [ebp - 0x308]
and dword [ebp - 0x374], 0
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x378], edi
mov ecx, eax
mov dword [ebp - 4], 0x33
call fcn.1001c94c
mov dword [ebp - 0x370], eax
mov dword [ebp - 4], 0x34
mov ecx, dword [ebp - 0xa2c]
call fcn.10018fb0
mov esi, eax
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x304], eax
mov dword [ebp - 4], 0x37
mov ecx, dword [ebp - 0x37c]
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
mov edx, dword [ebp - 0x380]
test edx, edx
jle 0x10008c28
mov eax, dword [ebp - 0x2d4]
mov edi, dword [ebp - 0x304]
shl esi, 3
fld qword [eax]
add eax, esi
fstp dword [edi + ecx*4]
inc ecx
cmp ecx, edx
jl 0x10008c16
mov edi, dword [ebp - 0x2fc]
mov esi, dword [ebp - 0x2cc]
inc esi
inc edi
mov dword [ebp - 0x2cc], esi
mov dword [ebp - 0x2fc], edi
cmp esi, 3
jb 0x10008a98
mov eax, dword [ebp - 0x2e4]
mov esi, dword [ebp - 0x2ec]
inc eax
mov dword [ebp - 0x2e4], eax
cmp eax, dword [esi + 0x10]
jb 0x10008a8a
mov edi, dword [ebp - 0x2e8]
jmp 0x10007afc
test byte [edi + 0x1e8], 1
je 0x10008c82
lea eax, [edi + 0x58]
push eax
push esi
lea ecx, [ebp - 0x18]
call fcn.1000a452
test byte [edi + 0x1e8], 8
je 0x10008c9b
lea eax, [edi + 0x70]
push eax
lea eax, [esi + 0x24]
push eax
lea ecx, [ebp - 0x34]
call fcn.1000a345
test byte [edi + 0x1e8], 0x10
je 0x10008cb4
lea eax, [edi + 0x7c]
push eax
lea eax, [esi + 0x30]
push eax
lea ecx, [ebp - 0x34]
call fcn.1000a345
test byte [edi + 0x1e8], 0x20
je 0x10008cd0
lea eax, [edi + 0x88]
push eax
lea eax, [esi + 0x3c]
push eax
lea ecx, [ebp - 0x34]
call fcn.1000a345
test byte [edi + 0x1e8], 4
je 0x10009100
lea eax, [edi + 0x64]
lea ecx, [esi + 0xc]
mov dword [ebp - 0x2e4], eax
call fcn.10018fb0
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x10008d0d
cmp eax, 0x2aaaaaaa
jle 0x10008d0d
call fcn.100022bd
mov eax, dword [ebp - 0x2d4]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0x64]
push eax
call fcn.1001cc2d
and dword [ebp - 0x2cc], 0
cmp dword [esi + 0x10], 0
jbe 0x10008f59
xor esi, esi
mov dword [ebp - 0x2fc], esi
mov dword [ebp - 0x2d4], 3
mov eax, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x2dc]
cmp dword [ebp - 0x304], eax
jne 0x10008dce
call fcn.1001c950
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x2f4], edi
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10001cf8
push esi
mov esi, dword [ebp - 0x2f4]
mov edi, eax
push 1
mov ecx, esi
call fcn.10018fb4
mov ecx, dword [ebp - 0x2fc]
imul ecx, edi
lea eax, [eax + ecx*8]
push eax
lea ecx, [ebp - 0x740]
call fcn.100279ab
mov eax, dword [ebp - 0x2fc]
mov ecx, esi
and dword [ebp - 0x72c], 0
mov dword [ebp - 0x734], esi
mov dword [ebp - 0x730], eax
call fcn.10001cf8
mov dword [ebp - 0x728], eax
lea ecx, [ebp - 0x740]
lea eax, [ebp - 0xb54]
jmp 0x10008e45
call fcn.1001c950
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x2f4], edi
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10001cf8
push esi
mov esi, dword [ebp - 0x2f4]
mov edi, eax
push 1
mov ecx, esi
call fcn.10018fb4
imul edi, dword [ebp - 0x2cc]
lea ecx, [ebp - 0x75c]
lea eax, [eax + edi*8]
push eax
call fcn.100279ab
mov eax, dword [ebp - 0x2cc]
mov ecx, esi
and dword [ebp - 0x748], 0
mov dword [ebp - 0x750], esi
mov dword [ebp - 0x74c], eax
call fcn.10001cf8
mov dword [ebp - 0x744], eax
lea ecx, [ebp - 0x75c]
lea eax, [ebp - 0xb78]
push eax
call fcn.100348b5
mov edi, eax
mov eax, dword [ebp - 0x2e4]
mov esi, dword [eax + 8]
mov ecx, eax
mov dword [ebp - 4], 0x38
call fcn.1001c94c
mov ecx, dword [ebp - 0x2e4]
or dword [ebp - 4], 0xffffffff
push esi
mov esi, dword [ebp - 0x2fc]
mov edx, dword [ecx]
mov ecx, esi
imul ecx, eax
push 1
lea eax, [edx + ecx*4]
push eax
lea ecx, [ebp - 0x3a4]
call fcn.100279ab
mov eax, dword [ebp - 0x2e4]
and dword [ebp - 0x390], 0
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], esi
mov ecx, eax
mov dword [ebp - 4], 0x39
call fcn.1001c94c
mov dword [ebp - 0x38c], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 4], 0x3a
mov ecx, dword [edi + 0x10]
call fcn.10018fb0
mov edi, eax
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x398]
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
mov edx, dword [ebp - 0x39c]
test edx, edx
jle 0x10008f23
mov eax, dword [ebp - 0x2f4]
mov esi, dword [ebp - 0x2d0]
shl edi, 3
fld qword [eax]
add eax, edi
fstp dword [esi + ecx*4]
inc ecx
cmp ecx, edx
jl 0x10008f11
mov esi, dword [ebp - 0x2fc]
inc esi
sub dword [ebp - 0x2d4], 1
mov dword [ebp - 0x2fc], esi
jne 0x10008d3f
mov ecx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2ec]
inc ecx
mov dword [ebp - 0x2cc], ecx
cmp ecx, dword [eax + 0x10]
jb 0x10008d2f
mov edi, dword [ebp - 0x2e8]
cmp byte [ebx + 0xc], 0
je 0x10009100
mov ecx, dword [ebp - 0x2e4]
lea eax, [ebp - 0x85c]
push eax
call fcn.100199f5
mov ecx, eax
call fcn.1001c950
mov ecx, dword [ebp - 0x2e4]
mov esi, eax
mov dword [ebp - 0x2d0], esi
call fcn.1001c950
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 4], 0x3e
lea eax, [ebp - 0x18c]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2d4], eax
mov ecx, edi
mov byte [ebp - 4], 0x3f
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], esi
mov dword [ebp - 4], 0x40
mov esi, dword [ebp - 0x2d0]
mov ecx, dword [esi + 4]
call fcn.10018fb0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.1001c94c
mov edi, dword [ebp - 0x2f4]
mov esi, eax
mov ecx, edi
call fcn.10018fb0
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x10009018
mov ecx, edi
call fcn.1001c94c
cmp eax, esi
je 0x10009044
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10009037
test esi, esi
je 0x10009037
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10009037
call fcn.100022bd
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.1001cc2d
mov ecx, edi
mov byte [ebp - 4], 0x41
call fcn.1001c94c
mov ecx, edi
mov esi, eax
call fcn.10018fb4
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], esi
mov ecx, edi
mov byte [ebp - 4], 0x42
call fcn.1001c950
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x114], ecx
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x110], ecx
lea ecx, [ebp - 0x314]
mov dword [ebp - 0x10c], ecx
lea ecx, [ebp - 0x114]
call fcn.10057c05
mov esi, eax
xor edx, edx
test esi, esi
jle 0x100090d5
mov eax, dword [ebp - 0x110]
mov ecx, edx
inc edx
mov eax, dword [eax + 4]
movss xmm0, dword [eax + ecx*4]
mov eax, dword [ebp - 0x114]
xorps xmm0, xmmword [0x1010e3f0]
mov eax, dword [eax]
movss dword [eax + ecx*4], xmm0
cmp edx, esi
jl 0x100090ac
lea ecx, [ebp - 0xec]
call fcn.10010a70
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x190]
call fcn.10010a70
mov ecx, dword [ebp - 0x2e4]
call fcn.1001c950
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 0x80
je 0x10009263
mov ecx, dword [ebp - 0x2e0]
lea esi, [edi + 0x1c4]
mov dword [ebp - 0x2f4], esi
call fcn.10018fb0
mov dword [ebp - 0x2d0], eax
test eax, eax
je 0x10009140
cmp eax, 0x2aaaaaaa
jle 0x10009140
call fcn.100022bd
mov eax, dword [ebp - 0x2d0]
push 3
push eax
imul eax, eax, 3
mov ecx, esi
push eax
call fcn.1001cc2d
mov esi, dword [ebp - 0x2ec]
and dword [ebp - 0x2cc], 0
cmp dword [esi + 0x10], 0
jbe 0x10009269
mov edi, dword [ebp - 0x2f4]
mov dword [ebp - 0x2d4], 2
mov esi, dword [edi + 8]
mov ecx, edi
mov dword [ebp - 4], 0x43
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
mov edx, dword [edi]
push esi
mov esi, dword [ebp - 0x2cc]
mov ecx, esi
imul ecx, eax
push 1
lea eax, [edx + ecx*4]
push eax
lea ecx, [ebp - 0x778]
call fcn.100279ab
and dword [ebp - 0x764], 0
mov dword [ebp - 0x76c], edi
mov dword [ebp - 0x768], esi
mov ecx, edi
mov dword [ebp - 4], 0x44
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c8]
mov esi, dword [ebp - 0x2d4]
mov dword [ebp - 0x760], eax
lea eax, [esi - 2]
mov dword [ebp - 0x33c], eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x778]
push eax
call fcn.1003d0ef
lea eax, [esi - 1]
mov dword [ebp - 4], 0x45
mov dword [ebp - 0x338], eax
lea ecx, [ebp - 0x7c8]
lea eax, [ebp - 0x338]
push eax
call fcn.10018edf
lea ecx, [ebp - 0x31c]
mov dword [ebp - 0x31c], esi
push ecx
mov ecx, eax
call fcn.10018edf
or dword [ebp - 4], 0xffffffff
add esi, 3
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2d4], esi
inc eax
mov esi, dword [ebp - 0x2ec]
mov dword [ebp - 0x2cc], eax
cmp eax, dword [esi + 0x10]
jb 0x10009175
mov edi, dword [ebp - 0x2e8]
jmp 0x10009269
mov esi, dword [ebp - 0x2ec]
test byte [edi + 0x1e8], 2
je 0x10007afc
lea eax, [esi + 0x78]
mov ecx, eax
mov dword [ebp - 0x2f4], eax
call fcn.10018fb0
test eax, eax
jle 0x10007afc
lea eax, [edi + 0x94]
lea ecx, [esi + 0xc]
mov dword [ebp - 0x2d4], eax
call fcn.10018fb0
imul eax, eax, 3
mov dword [ebp - 0x2d0], eax
test eax, eax
je 0x100092c1
cmp eax, 0x3fffffff
jle 0x100092c1
call fcn.100022bd
mov eax, dword [ebp - 0x2d0]
push 2
push eax
add eax, eax
lea ecx, [edi + 0x94]
push eax
call fcn.1001cc2d
and dword [ebp - 0x2cc], 0
cmp dword [esi + 0x10], 0
jbe 0x10007afc
xor edi, edi
xor esi, esi
mov dword [ebp - 0x2fc], edi
mov dword [ebp - 0x2e4], esi
mov eax, dword [ebp - 0x30c]
cmp eax, dword [ebp - 0x2f0]
jne 0x1000931c
mov edi, dword [ebp - 0x2d8]
mov ecx, edi
mov dword [ebp - 4], 0x46
call fcn.10018fb0
mov ecx, dword [edi]
imul eax, esi
jmp 0x10009339
mov esi, dword [ebp - 0x2e0]
mov ecx, esi
mov dword [ebp - 4], 0x47
call fcn.10018fb0
mov ecx, dword [esi]
imul eax, dword [ebp - 0x2e4]
add eax, dword [ebp - 0x2cc]
lea edi, [ebp - 0xa5c]
mov esi, dword [ebp - 0x2f4]
and dword [ebp - 0x5d4], 0
mov dword [ebp - 0x5dc], esi
mov edx, dword [ecx + eax*4]
mov eax, dword [esi]
mov ecx, dword [esi + 8]
lea esi, [ebp - 0x5e8]
mov dword [ebp - 0x5e0], ecx
push 7
lea eax, [eax + edx*8]
mov dword [ebp - 0x5d8], edx
pop ecx
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5d0], 1
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d0], eax
mov esi, dword [edi + 8]
mov ecx, edi
mov dword [ebp - 4], 0x4a
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
mov edx, dword [edi]
mov edi, dword [ebp - 0x2fc]
mov ecx, edi
imul ecx, eax
push esi
push 1
lea eax, [edx + ecx*4]
push eax
lea ecx, [ebp - 0x3c0]
call fcn.100279ab
mov eax, dword [ebp - 0x2d4]
and dword [ebp - 0x3ac], 0
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x3b0], edi
mov ecx, eax
mov dword [ebp - 4], 0x4b
call fcn.1001c94c
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 4], 0x4c
mov ecx, dword [ebp - 0xa50]
call fcn.10018fb0
mov esi, eax
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 4], 0x4f
mov ecx, dword [ebp - 0x3b4]
call fcn.1001c94c
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
mov edx, dword [ebp - 0x3b8]
test edx, edx
jle 0x1000945a
mov eax, dword [ebp - 0x2d0]
mov edi, dword [ebp - 0x2dc]
shl esi, 3
fld qword [eax]
add eax, esi
fstp dword [edi + ecx*4]
inc ecx
cmp ecx, edx
jl 0x10009448
mov edi, dword [ebp - 0x2fc]
mov esi, dword [ebp - 0x2e4]
inc esi
inc edi
mov dword [ebp - 0x2e4], esi
mov dword [ebp - 0x2fc], edi
cmp esi, 3
jb 0x100092f3
mov eax, dword [ebp - 0x2cc]
mov esi, dword [ebp - 0x2ec]
inc eax
mov dword [ebp - 0x2cc], eax
cmp eax, dword [esi + 0x10]
jb 0x100092e5
jmp 0x10008c61
mov esi, dword [ebp - 0x324]
mov ecx, esi
mov dword [ebp - 4], 0x8b
call fcn.10018fb0
mov ecx, dword [esi]
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x194], eax
mov dword [ebp - 4], 0x8c
xor esi, esi
fld qword [ecx]
inc esi
fmul st(0), st(0)
lea ecx, [ebp - 0x328]
fstp qword [ebp - 0x2f8]
call fcn.10052987
cmp eax, esi
jle 0x10009504
mov eax, dword [ebp - 0x198]
lea ecx, [ebp - 0x328]
fld qword [eax + esi*8]
inc esi
fmul st(0), st(0)
fadd qword [ebp - 0x2f8]
fstp qword [ebp - 0x2f8]
call fcn.10052987
cmp esi, eax
jl 0x100094dd
xor esi, esi
lea ecx, [ebp - 0x328]
inc esi
call fcn.1005298e
cmp eax, esi
jle 0x1000956f
lea ecx, [ebp - 0x328]
xor edi, edi
call fcn.10052987
test eax, eax
jle 0x10009559
mov ecx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x198]
imul ecx, esi
add ecx, edi
inc edi
fld qword [eax + ecx*8]
lea ecx, [ebp - 0x328]
fmul st(0), st(0)
fadd qword [ebp - 0x2f8]
fstp qword [ebp - 0x2f8]
call fcn.10052987
cmp edi, eax
jl 0x10009527
lea ecx, [ebp - 0x328]
inc esi
call fcn.1005298e
cmp esi, eax
jl 0x10009516
mov edi, dword [ebp - 0x2d0]
or dword [ebp - 4], 0xffffffff
fld qword [ebp - 0x2f8]
mov esi, dword [ebp - 0x300]
fldz
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x10009e00
call fcn.1009be20
lea eax, [ebp - 0x628]
push eax
fstp qword [ebp - 0x628]
push dword [edi + 8]
lea ecx, [ebp - 0xa90]
push dword [edi + 4]
call fcn.1003d113
push eax
lea ecx, [ebp - 0x4f8]
mov dword [ebp - 0x4fc], edi
call fcn.10020201
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], 0x8d
mov edi, dword [ebp - 0x4f4]
mov esi, dword [ebp - 0x4f0]
test edi, edi
je 0x10009623
test esi, esi
je 0x1000960a
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
setg al
test al, al
je 0x1000960a
call fcn.100022bd
mov esi, dword [ebp - 0x4f0]
mov edi, dword [ebp - 0x4f4]
test edi, edi
je 0x10009623
test esi, esi
je 0x10009623
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
jle 0x10009623
call fcn.100022bd
push esi
imul esi, edi
lea ecx, [ebp - 0x30]
push edi
push esi
call fcn.1001c905
mov esi, dword [ebp - 0x4fc]
lea eax, [ebp - 0x268]
mov dword [ebp - 0x2d0], eax
mov ecx, esi
mov byte [ebp - 4], 0x8f
call fcn.10018fb0
mov ecx, dword [esi]
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 0x90
push eax
lea ecx, [ebp - 0x258]
call fcn.10052a98
mov byte [ebp - 4], 0x91
mov edi, dword [ebp - 0x4f4]
mov esi, dword [ebp - 0x4f0]
cmp dword [ebp - 0x2c], edi
jne 0x1000968c
cmp dword [ebp - 0x28], esi
je 0x100096b3
test edi, edi
je 0x100096a5
test esi, esi
je 0x100096a5
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
jle 0x100096a5
call fcn.100022bd
push esi
imul esi, edi
lea ecx, [ebp - 0x30]
push edi
push esi
call fcn.1001c905
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x92
call fcn.10018fb0
mov edx, dword [ebp - 0x2c]
xor ecx, ecx
imul edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
test edx, edx
jle 0x100096e6
mov eax, dword [ebp - 0x264]
fld qword [eax + ecx*8]
fdiv qword [ebp - 0x258]
fstp qword [esi + ecx*8]
inc ecx
cmp ecx, edx
jl 0x100096cf
mov esi, dword [ebp - 0x300]
xor edi, edi
mov dword [ebp - 4], 0x93
mov dword [ebp - 0x2e0], edi
cmp dword [esi + 0x10], edi
jle 0x10009d77
lea eax, [esi + 0xc]
mov dword [ebp - 0x2d8], eax
lea eax, [ebp - 0x240]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x2cc], eax
lea eax, [esi + 0x108]
mov dword [ebp - 0x308], eax
mov edx, edi
lea ecx, [ebp - 0x2c8]
call fcn.1003424b
mov esi, dword [ebp - 0x2d8]
lea ecx, [ebp - 0x794]
mov byte [ebp - 4], 0x94
mov eax, dword [esi]
push dword [esi + 8]
push 1
lea eax, [eax + edi*4]
push eax
call fcn.100279ab
and dword [ebp - 0x780], 0
mov dword [ebp - 0x788], esi
mov esi, dword [ebp - 0x794]
mov dword [ebp - 0x784], edi
mov dword [ebp - 0x77c], 1
mov ecx, dword [ebp - 0x2d8]
mov byte [ebp - 4], 0x97
call fcn.10018fb0
mov edi, dword [ebp - 0x300]
lea ecx, [ebp - 0x67c]
mov byte [ebp - 4], 0x94
mov esi, dword [esi]
mov eax, dword [edi]
push dword [edi + 8]
push 1
lea eax, [eax + esi*8]
push eax
call fcn.100279ab
and dword [ebp - 0x668], 0
lea edx, [edi + 0xe4]
xor ecx, ecx
mov dword [ebp - 0x66c], esi
mov esi, dword [ebp - 0x2e0]
inc ecx
mov dword [ebp - 0x664], ecx
mov dword [ebp - 0x670], edi
mov eax, dword [edx]
push dword [edx + 8]
push ecx
lea eax, [eax + esi*8]
push eax
lea ecx, [ebp - 0x698]
call fcn.100279ab
and dword [ebp - 0x684], 0
lea eax, [edi + 0xe4]
mov dword [ebp - 0x68c], eax
lea ecx, [ebp - 0x698]
lea eax, [ebp - 0x67c]
mov dword [ebp - 0x688], esi
push eax
mov dword [ebp - 0x680], 1
call fcn.10020096
mov eax, dword [edi + 0xc]
lea ecx, [ebp - 0x6b4]
push dword [edi + 0x14]
push 1
lea eax, [eax + esi*4]
push eax
call fcn.100279ab
and dword [ebp - 0x6a0], 0
lea eax, [edi + 0xc]
mov dword [ebp - 0x6a4], esi
mov esi, dword [ebp - 0x6b4]
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x69c], 1
mov ecx, eax
mov byte [ebp - 4], 0x9f
call fcn.10018fb0
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0x604]
push dword [edi + 8]
mov esi, dword [esi + eax*4]
mov eax, dword [edi]
push 1
lea eax, [eax + esi*8]
push eax
call fcn.100279ab
and dword [ebp - 0x5f0], 0
lea edx, [edi + 0xe4]
xor ecx, ecx
mov dword [ebp - 0x5f4], esi
mov esi, dword [ebp - 0x2e0]
inc ecx
mov dword [ebp - 0x5ec], ecx
mov dword [ebp - 0x5f8], edi
mov eax, dword [edx]
push dword [edx + 8]
push ecx
lea eax, [eax + esi*8]
push eax
lea ecx, [ebp - 0x468]
call fcn.100279ab
and dword [ebp - 0x454], 0
lea eax, [edi + 0xe4]
mov dword [ebp - 0x45c], eax
mov eax, dword [ebp - 0x604]
mov dword [ebp - 0x458], esi
mov dword [ebp - 0x450], 1
mov dword [ebp - 0x2dc], eax
mov byte [ebp - 4], 0xa5
mov ecx, dword [ebp - 0x5f8]
call fcn.10018fb0
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2f4], ecx
mov byte [ebp - 4], 0xa7
mov ecx, dword [ebp - 0x45c]
call fcn.10018fb0
mov byte [ebp - 4], 0x94
mov edx, dword [ebp - 0x460]
test edx, edx
jle 0x1000996e
mov ecx, dword [ebp - 0x2d0]
shl eax, 3
shl ecx, 3
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2d0], ecx
mov ecx, dword [ebp - 0x2dc]
fld qword [eax]
fadd qword [ecx]
add ecx, dword [ebp - 0x2d0]
fstp qword [eax]
add eax, dword [ebp - 0x304]
sub edx, 1
jne 0x10009957
mov eax, dword [edi + 0xc]
lea ecx, [ebp - 0x6d0]
push dword [edi + 0x14]
push 1
lea eax, [eax + esi*4]
push eax
call fcn.100279ab
and dword [ebp - 0x6bc], 0
lea eax, [edi + 0xc]
mov dword [ebp - 0x6c0], esi
mov esi, dword [ebp - 0x6d0]
mov dword [ebp - 0x6c4], eax
mov dword [ebp - 0x6b8], 1
mov ecx, eax
mov byte [ebp - 4], 0xab
call fcn.10018fb0
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0x620]
push dword [edi + 8]
mov esi, dword [esi + eax*8]
mov eax, dword [edi]
push 1
lea eax, [eax + esi*8]
push eax
call fcn.100279ab
and dword [ebp - 0x60c], 0
xor ecx, ecx
mov dword [ebp - 0x614], edi
inc ecx
mov edi, dword [ebp - 0x2d4]
mov dword [ebp - 0x610], esi
mov esi, dword [ebp - 0x2e0]
mov dword [ebp - 0x608], ecx
mov eax, dword [edi]
push dword [edi + 8]
push ecx
lea eax, [eax + esi*8]
push eax
lea ecx, [ebp - 0x484]
call fcn.100279ab
mov eax, dword [ebp - 0x620]
and dword [ebp - 0x470], 0
mov dword [ebp - 0x478], edi
mov dword [ebp - 0x474], esi
mov dword [ebp - 0x46c], 1
mov dword [ebp - 0x2dc], eax
mov byte [ebp - 4], 0xb1
mov ecx, dword [ebp - 0x614]
call fcn.10018fb0
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2f4], ecx
mov byte [ebp - 4], 0xb3
mov ecx, dword [ebp - 0x478]
call fcn.10018fb0
mov byte [ebp - 4], 0x94
mov edx, dword [ebp - 0x47c]
test edx, edx
jle 0x10009ab2
mov ecx, dword [ebp - 0x2d0]
shl eax, 3
shl ecx, 3
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2d0], ecx
mov ecx, dword [ebp - 0x2dc]
fld qword [eax]
fadd qword [ecx]
add ecx, dword [ebp - 0x2d0]
fstp qword [eax]
add eax, dword [ebp - 0x304]
sub edx, 1
jne 0x10009a9b
mov eax, dword [edi]
lea ecx, [ebp - 0x36c]
push dword [edi + 8]
push 1
lea eax, [eax + esi*8]
push eax
call fcn.100279ab
fld qword [0x1010e318]
lea ecx, [ebp - 0x630]
and dword [ebp - 0x358], 0
xor eax, eax
push ecx
push dword [ebp - 0x364]
inc eax
mov dword [ebp - 0x360], edi
push eax
lea ecx, [ebp - 0x7b8]
mov dword [ebp - 0x35c], esi
fstp qword [ebp - 0x630]
mov dword [ebp - 0x354], eax
call fcn.1004a595
lea eax, [ebp - 0x7b8]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.1004ff30
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x2d0], eax
mov byte [ebp - 4], 0xb7
mov ecx, dword [ebp - 0x360]
call fcn.10018fb0
mov byte [ebp - 4], 0x94
mov ecx, dword [ebp - 0x364]
test ecx, ecx
jle 0x10009b60
mov edx, eax
mov eax, dword [ebp - 0x2d0]
shl edx, 3
fld qword [eax]
fdiv qword [ebp - 0x2b0]
fstp qword [eax]
add eax, edx
sub ecx, 1
jne 0x10009b4f
fld qword [0x1010e230]
lea eax, [ebp - 0x638]
push eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0xac0]
push dword [ebp - 0x2c]
fstp qword [ebp - 0x638]
call fcn.1003d113
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x96c], ecx
lea ecx, [ebp - 0x968]
push eax
call fcn.10020201
push esi
lea eax, [ebp - 0x970]
push eax
lea ecx, [ebp - 0xaf8]
call fcn.10020062
mov eax, dword [edi]
lea ecx, [ebp - 0x6ec]
push dword [edi + 8]
push 1
lea eax, [eax + esi*8]
push eax
call fcn.100279ab
and dword [ebp - 0x6d8], 0
lea eax, [ebp - 0xaf8]
push eax
lea ecx, [ebp - 0x940]
mov dword [ebp - 0x6e0], edi
mov dword [ebp - 0x6dc], esi
mov dword [ebp - 0x6d4], 1
call fcn.1003d65b
push 7
pop ecx
lea esi, [ebp - 0x6ec]
lea edi, [ebp - 0x908]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2d4]
lea ecx, [ebp - 0x4a0]
mov edi, dword [ebp - 0x2e0]
mov eax, dword [esi]
push dword [esi + 8]
push 1
lea eax, [eax + edi*8]
push eax
call fcn.100279ab
and dword [ebp - 0x48c], 0
mov dword [ebp - 0x494], esi
mov dword [ebp - 0x490], edi
mov dword [ebp - 0x488], 1
mov esi, dword [ebp - 0x93c]
mov ecx, esi
mov byte [ebp - 4], 0xc0
call fcn.10018fb0
mov ecx, dword [esi]
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x938]
mov byte [ebp - 4], 0xc1
push eax
lea ecx, [ebp - 0x230]
call fcn.10052a98
mov eax, dword [ebp - 0x918]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x914]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0x210], eax
mov byte [ebp - 4], 0xc2
mov ecx, dword [ebp - 0x8fc]
call fcn.10018fb0
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x2d0], eax
mov byte [ebp - 4], 0xc4
mov ecx, dword [ebp - 0x494]
call fcn.10018fb0
mov byte [ebp - 4], 0x94
xor esi, esi
mov ecx, dword [ebp - 0x498]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x2dc], ecx
test ecx, ecx
jle 0x10009d40
mov edi, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x21c]
mov edx, esi
mov ecx, dword [ebp - 0x238]
add eax, esi
imul edx, dword [ebp - 0x20c]
imul ecx, eax
mov eax, dword [ebp - 0x23c]
add ecx, dword [ebp - 0x220]
inc esi
fld qword [eax + ecx*8]
fmul qword [ebp - 0x230]
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x2f4]
shl ecx, 3
fadd qword [eax + edx*8]
fstp qword [edi]
add edi, ecx
cmp esi, dword [ebp - 0x2dc]
jl 0x10009cec
mov edi, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x308]
lea eax, [ebp - 0x2c8]
push eax
call fcn.1003a138
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x93
call fcn.1001ceee
mov esi, dword [ebp - 0x300]
inc edi
mov dword [ebp - 0x2e0], edi
cmp edi, dword [esi + 0x10]
jl 0x10009731
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.10003110
mov edi, dword [ebp - 0x2e8]
lea eax, [esi + 0x108]
mov ecx, esi
push eax
lea eax, [esi + 0xe4]
push eax
lea eax, [edi + 0x118]
push eax
call fcn.100068f2
test dword [edi + 0x1e8], 0x400
je 0x1000a302
cmp dword [esi + 0xdc], 0
jne 0x1000a2e6
mov edx, dword [esi + 4]
lea ecx, [esi + 0xd8]
push 3
call fcn.1001bf84
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
pop ecx
lea ecx, [ebp - 0x334]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea edi, [esi + 0x48]
mov dword [ebp - 0x2d0], edi
mov dword [ebp - 0x330], edi
call fcn.1004a40a
test eax, eax
jne 0x10009e10
fldz
jmp 0x10009ef7
push edi
lea ecx, [ebp - 0x30]
fstp st(0)
call fcn.1001e737
jmp 0x100096ec
mov esi, dword [ebp - 0x330]
mov ecx, esi
mov dword [ebp - 4], 0xc6
call fcn.10018fb0
mov ecx, dword [esi]
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 4], 0xc7
xor esi, esi
fld qword [ecx]
inc esi
fmul st(0), st(0)
lea ecx, [ebp - 0x334]
fstp qword [ebp - 0x2f8]
call fcn.10052987
cmp eax, esi
jle 0x10009e7c
mov eax, dword [ebp - 0x1a4]
lea ecx, [ebp - 0x334]
fld qword [eax + esi*8]
inc esi
fmul st(0), st(0)
fadd qword [ebp - 0x2f8]
fstp qword [ebp - 0x2f8]
call fcn.10052987
cmp esi, eax
jl 0x10009e55
xor esi, esi
lea ecx, [ebp - 0x334]
inc esi
call fcn.1005298e
cmp eax, esi
jle 0x10009ee7
lea ecx, [ebp - 0x334]
xor edi, edi
call fcn.10052987
test eax, eax
jle 0x10009ed1
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1a4]
imul ecx, esi
add ecx, edi
inc edi
fld qword [eax + ecx*8]
lea ecx, [ebp - 0x334]
fmul st(0), st(0)
fadd qword [ebp - 0x2f8]
fstp qword [ebp - 0x2f8]
call fcn.10052987
cmp edi, eax
jl 0x10009e9f
lea ecx, [ebp - 0x334]
inc esi
call fcn.1005298e
cmp esi, eax
jl 0x10009e8e
mov edi, dword [ebp - 0x2d0]
or dword [ebp - 4], 0xffffffff
fld qword [ebp - 0x2f8]
mov esi, dword [ebp - 0x300]
fldz
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x1000a335
call fcn.1009be20
lea eax, [ebp - 0x640]
push eax
fstp qword [ebp - 0x640]
push dword [edi + 8]
lea ecx, [ebp - 0xaa8]
push dword [edi + 4]
call fcn.1003d113
push eax
lea ecx, [ebp - 0x520]
mov dword [ebp - 0x524], edi
call fcn.10020201
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xc8
mov edi, dword [ebp - 0x51c]
mov esi, dword [ebp - 0x518]
test edi, edi
je 0x10009f9b
test esi, esi
je 0x10009f82
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
setg al
test al, al
je 0x10009f82
call fcn.100022bd
mov esi, dword [ebp - 0x518]
mov edi, dword [ebp - 0x51c]
test edi, edi
je 0x10009f9b
test esi, esi
je 0x10009f9b
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
jle 0x10009f9b
call fcn.100022bd
push esi
imul esi, edi
lea ecx, [ebp - 0x24]
push edi
push esi
call fcn.1001c905
mov esi, dword [ebp - 0x524]
lea eax, [ebp - 0x288]
mov dword [ebp - 0x2d0], eax
mov ecx, esi
mov byte [ebp - 4], 0xca
call fcn.10018fb0
mov ecx, dword [esi]
mov dword [ebp - 0x284], ecx
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x520]
mov byte [ebp - 4], 0xcb
push eax
lea ecx, [ebp - 0x278]
call fcn.10052a98
mov byte [ebp - 4], 0xcc
mov edi, dword [ebp - 0x51c]
mov esi, dword [ebp - 0x518]
cmp dword [ebp - 0x20], edi
jne 0x1000a004
cmp dword [ebp - 0x1c], esi
je 0x1000a02b
test edi, edi
je 0x1000a01d
test esi, esi
je 0x1000a01d
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
jle 0x1000a01d
call fcn.100022bd
push esi
imul esi, edi
lea ecx, [ebp - 0x24]
push edi
push esi
call fcn.1001c905
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xcd
call fcn.10018fb0
mov edx, dword [ebp - 0x20]
xor ecx, ecx
imul edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x24]
test edx, edx
jle 0x1000a05e
mov eax, dword [ebp - 0x284]
fld qword [eax + ecx*8]
fdiv qword [ebp - 0x278]
fstp qword [esi + ecx*8]
inc ecx
cmp ecx, edx
jl 0x1000a047
mov esi, dword [ebp - 0x300]
xor edi, edi
mov dword [ebp - 4], 0xce
mov dword [ebp - 0x2f0], edi
cmp dword [esi + 4], edi
jle 0x1000a2d4
lea eax, [esi + 0xd8]
mov dword [ebp - 0x2d0], eax
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x30c], eax
lea eax, [esi + 0xfc]
mov dword [ebp - 0x2dc], eax
mov edx, edi
lea ecx, [ebp - 0x2a0]
call fcn.1003424b
mov byte [ebp - 4], 0xcf
lea eax, [ebp - 0x648]
fld qword [0x1010e238]
lea ecx, [ebp - 0xa78]
push eax
push dword [ebp - 0x1c]
fstp qword [ebp - 0x648]
push dword [ebp - 0x20]
call fcn.1003d113
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x994], ecx
lea ecx, [ebp - 0x990]
push eax
call fcn.10020201
push edi
lea eax, [ebp - 0x998]
push eax
lea ecx, [ebp - 0xb30]
call fcn.10020062
mov eax, dword [esi]
lea ecx, [ebp - 0x708]
push dword [esi + 8]
push 1
lea eax, [eax + edi*8]
push eax
call fcn.100279ab
and dword [ebp - 0x6f4], 0
lea eax, [ebp - 0xb30]
push eax
lea ecx, [ebp - 0x8b8]
mov dword [ebp - 0x6fc], esi
mov dword [ebp - 0x6f8], edi
mov dword [ebp - 0x6f0], 1
call fcn.1003d65b
push 7
pop ecx
lea esi, [ebp - 0x708]
lea edi, [ebp - 0x880]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2d0]
lea ecx, [ebp - 0x4bc]
mov edi, dword [ebp - 0x2f0]
mov eax, dword [esi]
push dword [esi + 8]
push 1
lea eax, [eax + edi*8]
push eax
call fcn.100279ab
and dword [ebp - 0x4a8], 0
mov dword [ebp - 0x4b0], esi
mov dword [ebp - 0x4ac], edi
mov dword [ebp - 0x4a4], 1
mov esi, dword [ebp - 0x8b4]
mov ecx, esi
mov byte [ebp - 4], 0xd7
call fcn.10018fb0
mov ecx, dword [esi]
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1f0], eax
lea eax, [ebp - 0x8b0]
mov byte [ebp - 4], 0xd8
push eax
lea ecx, [ebp - 0x1e8]
call fcn.10052a98
mov eax, dword [ebp - 0x890]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x88c]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x880]
mov dword [ebp - 0x1c8], eax
mov byte [ebp - 4], 0xd9
mov ecx, dword [ebp - 0x874]
call fcn.10018fb0
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x2f4], eax
mov byte [ebp - 4], 0xdb
mov ecx, dword [ebp - 0x4b0]
call fcn.10018fb0
mov byte [ebp - 4], 0xcf
xor esi, esi
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x2d4], eax
test eax, eax
jle 0x1000a29d
mov edi, dword [ebp - 0x2f4]
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1f0]
add eax, esi
mov edx, dword [ebp - 0x1c4]
imul ecx, eax
mov eax, dword [ebp - 0x1f4]
imul edx, esi
add ecx, dword [ebp - 0x1d8]
inc esi
fld qword [eax + ecx*8]
fmul qword [ebp - 0x1e8]
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x2d8]
shl ecx, 3
fadd qword [eax + edx*8]
fstp qword [edi]
add edi, ecx
cmp esi, dword [ebp - 0x2d4]
jl 0x1000a249
mov edi, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x2dc]
lea eax, [ebp - 0x2a0]
push eax
call fcn.1003a138
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 0xce
call fcn.1001ceee
mov esi, dword [ebp - 0x300]
inc edi
mov dword [ebp - 0x2f0], edi
cmp edi, dword [esi + 4]
jl 0x1000a0ac
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.10003110
mov edi, dword [ebp - 0x2e8]
lea eax, [esi + 0xfc]
mov ecx, esi
push eax
lea eax, [esi + 0xd8]
push eax
lea eax, [edi + 0xd0]
push eax
call fcn.100068f2
test dword [edi + 0x1e8], 0x1000
je 0x1000a32a
lea eax, [esi + 0x114]
mov ecx, esi
push eax
lea eax, [esi + 0xf0]
push eax
lea eax, [edi + 0x160]
push eax
call fcn.100068f2
mov ecx, dword [ebp - 0x14]
call fcn.1009b8e9
ret 0xc
push edi
lea ecx, [ebp - 0x24]
fstp st(0)
call fcn.1001e737
jmp 0x1000a064