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

Disassembly:
push 8
push 0xb68
mov eax, 0x10099574
call fcn.10097b74
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 0x10006b61
mov ecx, edi
call fcn.10003b16
lea eax, [esi + 0xc]
mov ecx, eax
mov dword [ebp - 0x2e0], eax
call fcn.100158fb
mov dword [ebp - 0x2f0], eax
lea eax, [esi + 0x84]
mov ecx, eax
mov dword [ebp - 0x2d8], eax
call fcn.100158fb
lea ecx, [esi + 0xc]
mov dword [ebp - 0x30c], eax
call fcn.100158fb
mov esi, eax
mov eax, dword [ebp - 0x2ec]
add eax, 0x18
mov ecx, eax
mov dword [ebp - 0x2dc], eax
call fcn.100158fb
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.1000a40f
push esi
lea ecx, [ebp - 0x18]
call fcn.1000a40f
cmp byte [esi + 0x124], 0
jne 0x10008c37
mov eax, dword [ebp - 0x30c]
cmp eax, dword [ebp - 0x2f0]
je 0x10008550
mov eax, dword [ebp - 0x308]
cmp dword [ebp - 0x304], eax
je 0x10008550
test byte [edi + 0x1e8], 1
je 0x10006de4
lea eax, [ebp - 0x844]
mov ecx, esi
push eax
call fcn.10016340
add edi, 0x58
mov ecx, eax
mov dword [ebp - 0x2dc], edi
call fcn.10018dc3
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.10018dc3
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.100158fb
mov ecx, edi
mov esi, eax
call fcn.100158ff
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.100158fb
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.10018dbf
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.100158fb
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x10006cd4
mov ecx, edi
call fcn.10018dbf
cmp eax, esi
je 0x10006d00
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10006cf3
test esi, esi
je 0x10006cf3
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10006cf3
call fcn.10002288
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.100190a0
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], esi
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.10018dc3
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.1003bf66
test eax, eax
jle 0x10006db3
lea ecx, [ebp - 0x74]
xor edi, edi
call fcn.10036df9
test eax, eax
jle 0x10006da6
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.1003aae4
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.10036df9
cmp edi, eax
jl 0x10006d65
lea ecx, [ebp - 0x74]
inc esi
call fcn.1003bf66
cmp esi, eax
jl 0x10006d57
lea ecx, [ebp - 0xac]
call fcn.10010a40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x178]
call fcn.10010a40
mov ecx, dword [ebp - 0x2dc]
call fcn.10018dc3
mov edi, dword [ebp - 0x2e8]
mov esi, dword [ebp - 0x2ec]
test byte [edi + 0x1e8], 4
je 0x1000714b
lea eax, [ebp - 0x838]
lea ecx, [esi + 0x48]
push eax
call fcn.10016340
add edi, 0x64
mov ecx, eax
mov dword [ebp - 0x2f0], edi
call fcn.10018dc3
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.10018dc3
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.100158fb
mov ecx, edi
mov esi, eax
call fcn.100158ff
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.100158fb
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.10018dbf
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.100158fb
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x10006ea8
mov ecx, edi
call fcn.10018dbf
cmp eax, esi
je 0x10006ed4
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10006ec7
test esi, esi
je 0x10006ec7
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10006ec7
call fcn.10002288
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.100190a0
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], esi
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.10018dc3
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.1003bf66
test eax, eax
jle 0x10006f85
lea ecx, [ebp - 0x64]
xor edi, edi
call fcn.10036df9
test eax, eax
jle 0x10006f78
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.1003aae4
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.10036df9
cmp edi, eax
jl 0x10006f39
lea ecx, [ebp - 0x64]
inc esi
call fcn.1003bf66
cmp esi, eax
jl 0x10006f2b
lea ecx, [ebp - 0xf4]
call fcn.10010a40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x16c]
call fcn.10010a40
mov edi, dword [ebp - 0x2f0]
mov ecx, edi
call fcn.10018dc3
cmp byte [ebx + 0xc], 0
je 0x10007145
lea eax, [ebp - 0x82c]
mov ecx, edi
push eax
call fcn.10016340
mov ecx, eax
call fcn.10018dc3
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.10018dc3
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.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
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.100158fb
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.10018dbf
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.100158fb
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x10007063
mov ecx, edi
call fcn.10018dbf
cmp eax, esi
je 0x1000708f
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10007082
test esi, esi
je 0x10007082
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10007082
call fcn.10002288
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.100190a0
mov ecx, edi
mov byte [ebp - 4], 0xd
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], esi
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.10018dc3
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.1003bf6d
mov esi, eax
xor edx, edx
test esi, esi
jle 0x10007120
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 [0x100e1920]
mov eax, dword [eax]
movss dword [eax + ecx*4], xmm0
cmp edx, esi
jl 0x100070f7
lea ecx, [ebp - 0xb4]
call fcn.10010a40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x160]
call fcn.10010a40
mov ecx, dword [ebp - 0x2f0]
call fcn.10018dc3
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 8
je 0x1000731f
mov ecx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x814]
add ecx, 0x54
push eax
call fcn.10016340
add edi, 0x70
mov ecx, eax
mov dword [ebp - 0x2dc], edi
call fcn.10018dc3
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.10018dc3
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.100158fb
mov ecx, edi
mov esi, eax
call fcn.100158ff
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.100158fb
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.10018dbf
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.100158fb
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x10007215
mov ecx, edi
call fcn.10018dbf
cmp eax, esi
je 0x10007241
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10007234
test esi, esi
je 0x10007234
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10007234
call fcn.10002288
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.100190a0
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], esi
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.10018dc3
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.1003bf66
test eax, eax
jle 0x100072f4
lea ecx, [ebp - 0x54]
xor edi, edi
call fcn.10036df9
test eax, eax
jle 0x100072e7
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.1003aae4
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.10036df9
cmp edi, eax
jl 0x100072a6
lea ecx, [ebp - 0x54]
inc esi
call fcn.1003bf66
cmp esi, eax
jl 0x10007298
lea ecx, [ebp - 0xbc]
call fcn.10010a40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x154]
call fcn.10010a40
mov ecx, dword [ebp - 0x2dc]
call fcn.10018dc3
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 0x10
je 0x100074f3
mov ecx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x8e4]
push eax
lea ecx, [ecx + 0x60]
call fcn.10016340
add edi, 0x7c
mov ecx, eax
mov dword [ebp - 0x2dc], edi
call fcn.10018dc3
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.10018dc3
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.100158fb
mov ecx, edi
mov esi, eax
call fcn.100158ff
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.100158fb
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.10018dbf
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.100158fb
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x100073e9
mov ecx, edi
call fcn.10018dbf
cmp eax, esi
je 0x10007415
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10007408
test esi, esi
je 0x10007408
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10007408
call fcn.10002288
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.100190a0
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], esi
mov ecx, edi
mov byte [ebp - 4], 0x18
call fcn.10018dc3
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.1003bf66
test eax, eax
jle 0x100074c8
lea ecx, [ebp - 0x44]
xor edi, edi
call fcn.10036df9
test eax, eax
jle 0x100074bb
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.1003aae4
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.10036df9
cmp edi, eax
jl 0x1000747a
lea ecx, [ebp - 0x44]
inc esi
call fcn.1003bf66
cmp esi, eax
jl 0x1000746c
lea ecx, [ebp - 0xc4]
call fcn.10010a40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x148]
call fcn.10010a40
mov ecx, dword [ebp - 0x2dc]
call fcn.10018dc3
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 0x20
je 0x100076dc
mov ecx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x8d8]
push eax
lea ecx, [ecx + 0x6c]
call fcn.10016340
add edi, 0x88
mov ecx, eax
mov dword [ebp - 0x2dc], edi
call fcn.10018dc3
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.10018dc3
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.100158fb
mov ecx, edi
mov esi, eax
call fcn.100158ff
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.100158fb
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.10018dbf
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.100158fb
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x100075c0
mov ecx, edi
call fcn.10018dbf
cmp eax, esi
je 0x100075ec
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x100075df
test esi, esi
je 0x100075df
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x100075df
call fcn.10002288
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.100190a0
mov ecx, edi
mov byte [ebp - 4], 0x1c
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], esi
mov ecx, edi
mov byte [ebp - 4], 0x1d
call fcn.10018dc3
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.1003bf66
test eax, eax
jle 0x100076b1
lea ecx, [ebp - 0x84]
xor edi, edi
call fcn.10036df9
test eax, eax
jle 0x100076a1
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.1003aae4
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.10036df9
cmp edi, eax
jl 0x1000765a
lea ecx, [ebp - 0x84]
inc esi
call fcn.1003bf66
cmp esi, eax
jl 0x10007649
lea ecx, [ebp - 0xcc]
call fcn.10010a40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.10010a40
mov ecx, dword [ebp - 0x2dc]
call fcn.10018dc3
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 0x80
je 0x100078c2
mov ecx, dword [ebp - 0x2e0]
lea eax, [ebp - 0x8cc]
push eax
call fcn.10016340
add edi, 0x1c4
mov ecx, eax
mov dword [ebp - 0x2dc], edi
call fcn.10018dc3
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.10018dc3
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.100158fb
mov ecx, edi
mov esi, eax
call fcn.100158ff
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.100158fb
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.10018dbf
mov edi, dword [ebp - 0x2d4]
mov esi, eax
mov ecx, edi
call fcn.100158fb
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x100077a6
mov ecx, edi
call fcn.10018dbf
cmp eax, esi
je 0x100077d2
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x100077c5
test esi, esi
je 0x100077c5
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x100077c5
call fcn.10002288
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.100190a0
mov ecx, edi
mov byte [ebp - 4], 0x21
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], esi
mov ecx, edi
mov byte [ebp - 4], 0x22
call fcn.10018dc3
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.1003bf66
test eax, eax
jle 0x10007897
lea ecx, [ebp - 0x94]
xor edi, edi
call fcn.10036df9
test eax, eax
jle 0x10007887
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.100158ff
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.10036df9
cmp edi, eax
jl 0x10007849
lea ecx, [ebp - 0x94]
inc esi
call fcn.1003bf66
cmp esi, eax
jl 0x10007838
lea ecx, [ebp - 0xd4]
call fcn.10010a40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x130]
call fcn.10010a40
mov ecx, dword [ebp - 0x2dc]
call fcn.10018dc3
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 2
je 0x10007ac1
mov ecx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x850]
push eax
lea ecx, [ecx + 0x78]
call fcn.10016340
add edi, 0x94
mov ecx, eax
mov dword [ebp - 0x2d4], edi
call fcn.10018dc3
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x2d8], esi
call fcn.10018dc3
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.100158fb
mov ecx, edi
mov esi, eax
call fcn.100158ff
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.100158fb
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.10018dbf
mov esi, dword [ebp - 0x2f0]
mov ecx, esi
mov dword [ebp - 0x2cc], eax
call fcn.100158fb
cmp eax, edi
jne 0x1000798b
mov ecx, esi
call fcn.10018dbf
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
je 0x100079bd
jmp 0x10007991
mov ecx, dword [ebp - 0x2cc]
test edi, edi
je 0x100079aa
test ecx, ecx
je 0x100079aa
mov eax, 0x7fffffff
cdq
idiv ecx
cmp edi, eax
jle 0x100079aa
call fcn.10002288
mov eax, dword [ebp - 0x2cc]
mov ecx, esi
push eax
push edi
imul edi, eax
push edi
call fcn.100190a0
mov ecx, esi
mov byte [ebp - 4], 0x26
call fcn.10018dbf
mov ecx, dword [ebp - 0x2f0]
mov esi, eax
call fcn.100158ff
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], esi
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x2f0]
call fcn.10018dc3
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.1003bf66
test eax, eax
jle 0x10007a96
lea ecx, [ebp - 0xa4]
xor edi, edi
call fcn.10036df9
test eax, eax
jle 0x10007a86
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.1003aae4
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.10036df9
cmp edi, eax
jl 0x10007a3c
lea ecx, [ebp - 0xa4]
inc esi
call fcn.1003bf66
cmp esi, eax
jl 0x10007a2b
lea ecx, [ebp - 0xdc]
call fcn.10010a40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b4]
call fcn.10010a40
mov ecx, dword [ebp - 0x2d4]
call fcn.10018dc3
mov edi, dword [ebp - 0x2e8]
mov esi, dword [ebp - 0x2ec]
test byte [edi + 0x1e8], 0x40
je 0x10007bf3
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.10016307
mov eax, dword [esi + 0x94]
imul eax, dword [esi + 0x98]
and dword [ebp - 0x2d0], 0
test eax, eax
je 0x10007bf3
mov edi, dword [ebp - 0x2d0]
lea eax, [esi + 0x90]
mov ecx, eax
mov dword [ebp - 4], 0x50
call fcn.100158fb
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.100158fb
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.100158fb
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.100158fb
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 0x10007b36
mov edi, dword [ebp - 0x2e8]
test dword [edi + 0x1e8], 0x100
je 0x10008174
lea eax, [edi + 0xa0]
mov dword [ebp - 0x2d8], eax
mov eax, dword [esi + 0xc4]
add eax, eax
mov dword [ebp - 0x2d0], eax
je 0x10007c31
cmp eax, 0x2aaaaaaa
jle 0x10007c31
call fcn.10002288
mov eax, dword [ebp - 0x2d0]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0xa0]
push eax
call fcn.100190a0
lea eax, [edi + 0xac]
mov dword [ebp - 0x2d4], eax
mov eax, dword [esi + 0xc4]
add eax, eax
mov dword [ebp - 0x2d0], eax
je 0x10007c71
cmp eax, 0x2aaaaaaa
jle 0x10007c71
call fcn.10002288
mov eax, dword [ebp - 0x2d0]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0xac]
push eax
call fcn.100190a0
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.100190a0
and dword [ebp - 0x2e0], 0
cmp dword [esi + 0xc4], 0
jbe 0x10008174
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.100158fb
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.10018dbf
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.1001a388
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.10018dbf
mov dword [ebp - 0x3c4], eax
mov dword [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x9ec]
call fcn.100158fb
mov edi, dword [ebp - 0x3dc]
mov esi, eax
mov dword [ebp - 4], 0x5f
mov ecx, dword [ebp - 0x3d0]
call fcn.10018dbf
mov edx, dword [ebp - 0x3d4]
xor ecx, ecx
test edx, edx
jle 0x10007dcc
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 0x10007dc0
mov edi, dword [ebp - 0x2cc]
mov esi, dword [edi]
mov ecx, edi
mov dword [ebp - 4], 0x60
call fcn.100158fb
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.10018dbf
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.1001a388
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.10018dbf
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 4], 0x64
mov ecx, dword [ebp - 0xa0c]
call fcn.100158fb
mov edi, dword [ebp - 0x3f8]
mov esi, eax
mov dword [ebp - 4], 0x67
mov ecx, dword [ebp - 0x3ec]
call fcn.10018dbf
mov edx, dword [ebp - 0x3f0]
xor ecx, ecx
test edx, edx
jle 0x10007ee6
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 0x10007eda
mov edi, dword [ebp - 0x2cc]
mov esi, dword [edi]
mov ecx, edi
mov dword [ebp - 4], 0x68
call fcn.100158fb
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.10018dbf
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.1001a388
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.10018dbf
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 4], 0x6c
mov ecx, dword [ebp - 0x9ac]
call fcn.100158fb
mov edi, dword [ebp - 0x414]
mov esi, eax
mov dword [ebp - 4], 0x6f
mov ecx, dword [ebp - 0x408]
call fcn.10018dbf
mov edx, dword [ebp - 0x40c]
xor ecx, ecx
test edx, edx
jle 0x10007ff1
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 0x10007fe5
mov edi, dword [ebp - 0x2cc]
mov esi, dword [edi]
mov ecx, edi
mov dword [ebp - 4], 0x70
call fcn.100158fb
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.10018dbf
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.1001a388
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.10018dbf
mov dword [ebp - 0x418], eax
mov dword [ebp - 4], 0x74
mov ecx, dword [ebp - 0x9cc]
call fcn.100158fb
mov edi, dword [ebp - 0x430]
mov esi, eax
mov dword [ebp - 4], 0x77
mov ecx, dword [ebp - 0x424]
call fcn.10018dbf
mov edx, dword [ebp - 0x428]
xor ecx, ecx
test edx, edx
jle 0x100080fe
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 0x100080f2
mov dword [ebp - 4], 0x78
mov ecx, dword [ebp - 0x2f0]
call fcn.10018dbf
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.10018dbf
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 0x10007ccd
mov edi, dword [ebp - 0x2e8]
test dword [edi + 0x1e8], 0x200
je 0x100084e3
lea eax, [edi + 0xb8]
mov dword [ebp - 0x2d8], eax
mov eax, dword [esi + 0xd0]
mov dword [ebp - 0x2d0], eax
test eax, eax
je 0x100081b2
cmp eax, 0x2aaaaaaa
jle 0x100081b2
call fcn.10002288
mov eax, dword [ebp - 0x2d0]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0xb8]
push eax
call fcn.100190a0
lea eax, [edi + 0xc4]
mov dword [ebp - 0x2d4], eax
mov eax, dword [esi + 0xd0]
mov dword [ebp - 0x2d0], eax
test eax, eax
je 0x100081f2
cmp eax, 0x2aaaaaaa
jle 0x100081f2
call fcn.10002288
mov eax, dword [ebp - 0x2d0]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0xc4]
push eax
call fcn.100190a0
mov eax, dword [esi + 0xd0]
lea ecx, [edi + 0x1dc]
push 1
push eax
push eax
mov dword [ebp - 0x2dc], ecx
call fcn.100190a0
and dword [ebp - 0x2e0], 0
cmp dword [esi + 0xd0], 0
jbe 0x100084e3
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.100158fb
or dword [ebp - 4], 0xffffffff
lea eax, [esi + edi*8]
push eax
lea ecx, [ebp - 0x594]
call fcn.1000a40f
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.10018dbf
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.1001a388
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.10018dbf
mov esi, dword [ebp - 0x804]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 4], 0x7e
mov ecx, dword [ebp - 0x7fc]
call fcn.100158fb
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.10018dbf
mov edx, dword [ebp - 0x4d0]
xor ecx, ecx
test edx, edx
jle 0x1000836c
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 0x1000835a
mov edi, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x2cc]
mov esi, dword [eax]
mov ecx, eax
mov dword [ebp - 4], 0x82
call fcn.100158fb
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.1000a40f
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.10018dbf
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.1001a388
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.10018dbf
mov esi, dword [ebp - 0x7e4]
mov dword [ebp - 0x434], eax
mov dword [ebp - 4], 0x86
mov ecx, dword [ebp - 0x7dc]
call fcn.100158fb
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.10018dbf
mov edx, dword [ebp - 0x444]
xor ecx, ecx
test edx, edx
jle 0x100084a1
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 0x1000848f
mov edi, dword [ebp - 0x2e0]
mov esi, dword [ebp - 0x2dc]
mov ecx, esi
mov dword [ebp - 4], 0x8a
call fcn.10018dbf
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 0x10008245
mov edi, dword [ebp - 0x2e8]
test dword [edi + 0x1e8], 0x800
mov esi, dword [ebp - 0x300]
je 0x10009d70
cmp dword [esi + 0xe8], 0
jne 0x10009d54
mov edx, dword [esi + 0x10]
lea eax, [esi + 0xe4]
push 3
mov ecx, eax
mov dword [ebp - 0x2d4], eax
call fcn.10018893
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.1002eb9d
test eax, eax
jne 0x10009463
fldz
jmp 0x1000954a
test byte [edi + 0x1e8], 1
je 0x10008566
lea eax, [edi + 0x58]
push eax
push esi
lea ecx, [ebp - 0x18]
call fcn.1000a41d
test byte [edi + 0x1e8], 8
je 0x100085b5
lea ecx, [esi + 0xc]
call fcn.100158fb
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x10008596
cmp eax, 0x1fffffff
jle 0x10008596
call fcn.10002288
mov eax, dword [ebp - 0x2d4]
push 4
push eax
shl eax, 2
lea ecx, [edi + 0x70]
push eax
call fcn.100190a0
lea eax, [edi + 0x70]
push eax
lea eax, [esi + 0x54]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000a41d
test byte [edi + 0x1e8], 0x10
je 0x10008604
lea ecx, [esi + 0xc]
call fcn.100158fb
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x100085e5
cmp eax, 0x1fffffff
jle 0x100085e5
call fcn.10002288
mov eax, dword [ebp - 0x2d4]
push 4
push eax
shl eax, 2
lea ecx, [edi + 0x7c]
push eax
call fcn.100190a0
lea eax, [edi + 0x7c]
push eax
lea eax, [esi + 0x60]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000a41d
test byte [edi + 0x1e8], 0x20
je 0x10008659
lea ecx, [esi + 0xc]
call fcn.100158fb
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x10008634
cmp eax, 0x1fffffff
jle 0x10008634
call fcn.10002288
mov eax, dword [ebp - 0x2d4]
push 4
push eax
shl eax, 2
lea ecx, [edi + 0x88]
push eax
call fcn.100190a0
lea eax, [edi + 0x88]
push eax
lea eax, [esi + 0x6c]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000a41d
test byte [edi + 0x1e8], 4
je 0x1000885c
lea eax, [edi + 0x64]
lea ecx, [esi + 0xc]
mov dword [ebp - 0x2e4], eax
call fcn.100158fb
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x10008696
cmp eax, 0x2aaaaaaa
jle 0x10008696
call fcn.10002288
mov eax, dword [ebp - 0x2d4]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0x64]
push eax
call fcn.100190a0
lea eax, [edi + 0x64]
push eax
lea eax, [esi + 0x48]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000a41d
cmp byte [ebx + 0xc], 0
je 0x1000885c
mov ecx, dword [ebp - 0x2e4]
lea eax, [ebp - 0x820]
push eax
call fcn.10016340
mov ecx, eax
call fcn.10018dc3
mov ecx, dword [ebp - 0x2e4]
mov esi, eax
mov dword [ebp - 0x2d4], esi
call fcn.10018dc3
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.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
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.100158fb
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.10018dbf
mov edi, dword [ebp - 0x2dc]
mov esi, eax
mov ecx, edi
call fcn.100158fb
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x10008774
mov ecx, edi
call fcn.10018dbf
cmp eax, esi
je 0x100087a0
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10008793
test esi, esi
je 0x10008793
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10008793
call fcn.10002288
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.100190a0
mov ecx, edi
mov byte [ebp - 4], 0x2b
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], esi
mov ecx, edi
mov byte [ebp - 4], 0x2c
call fcn.10018dc3
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.1003bf6d
mov esi, eax
xor edx, edx
test esi, esi
jle 0x10008831
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 [0x100e1920]
mov eax, dword [eax]
movss dword [eax + ecx*4], xmm0
cmp edx, esi
jl 0x10008808
lea ecx, [ebp - 0xe4]
call fcn.10010a40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x184]
call fcn.10010a40
mov ecx, dword [ebp - 0x2e4]
call fcn.10018dc3
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 0x80
je 0x100089d3
mov esi, dword [ebp - 0x2e0]
lea eax, [edi + 0x1c4]
mov ecx, esi
mov dword [ebp - 0x2dc], eax
call fcn.100158fb
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x1000889e
cmp eax, 0x2aaaaaaa
jle 0x1000889e
call fcn.10002288
mov eax, dword [ebp - 0x2d4]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0x1c4]
push eax
call fcn.100190a0
and dword [ebp - 0x2cc], 0
mov ecx, esi
call fcn.100158fb
test eax, eax
je 0x100089d3
mov dword [ebp - 0x2e4], 2
mov ecx, dword [ebp - 0x2dc]
call fcn.10018dc3
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x2d4], edi
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.10018dbf
push esi
mov esi, dword [ebp - 0x2d4]
mov edi, eax
push 1
mov ecx, esi
call fcn.100158ff
imul edi, dword [ebp - 0x2cc]
lea ecx, [ebp - 0x724]
lea eax, [eax + edi*4]
push eax
call fcn.1001a388
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.10018dbf
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.1001abb2
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.1001582a
lea ecx, [ebp - 0x344]
mov dword [ebp - 0x344], esi
push ecx
mov ecx, eax
call fcn.1001582a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a4]
call fcn.10010a40
mov ecx, dword [ebp - 0x2e0]
inc edi
add esi, 3
mov dword [ebp - 0x2cc], edi
mov dword [ebp - 0x2e4], esi
call fcn.100158fb
cmp edi, eax
jb 0x100088d0
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 2
mov esi, dword [ebp - 0x2ec]
je 0x10007ac7
lea eax, [esi + 0x78]
mov ecx, eax
mov dword [ebp - 0x2dc], eax
call fcn.100158fb
test eax, eax
jle 0x10007ac7
lea eax, [edi + 0x94]
lea ecx, [esi + 0xc]
mov dword [ebp - 0x308], eax
call fcn.100158fb
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x10008a31
cmp eax, 0x3fffffff
jle 0x10008a31
call fcn.10002288
mov eax, dword [ebp - 0x2d4]
push 2
push eax
add eax, eax
lea ecx, [edi + 0x94]
push eax
call fcn.100190a0
and dword [ebp - 0x2e4], 0
cmp dword [esi + 0x10], 0
jbe 0x10007ac7
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 0x10008a95
mov edi, dword [ebp - 0x2d8]
mov ecx, edi
mov dword [ebp - 4], 0x2e
call fcn.100158fb
mov ecx, dword [edi]
imul eax, esi
add eax, dword [ebp - 0x2e4]
mov esi, dword [ecx + eax*4]
jmp 0x10008add
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 4], 0x2f
call fcn.100158fb
mov ecx, dword [ebp - 0x2e0]
mov edi, eax
call fcn.100158ff
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.10010a40
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.10018dbf
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.1001a388
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.10018dbf
mov dword [ebp - 0x370], eax
mov dword [ebp - 4], 0x34
mov ecx, dword [ebp - 0xa2c]
call fcn.100158fb
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.10018dbf
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
mov edx, dword [ebp - 0x380]
test edx, edx
jle 0x10008bf3
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 0x10008be1
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 0x10008a63
mov eax, dword [ebp - 0x2e4]
mov esi, dword [ebp - 0x2ec]
inc eax
mov dword [ebp - 0x2e4], eax
cmp eax, dword [esi + 0x10]
jb 0x10008a55
mov edi, dword [ebp - 0x2e8]
jmp 0x10007ac7
test byte [edi + 0x1e8], 1
je 0x10008c4d
lea eax, [edi + 0x58]
push eax
push esi
lea ecx, [ebp - 0x18]
call fcn.1000a41d
test byte [edi + 0x1e8], 8
je 0x10008c66
lea eax, [edi + 0x70]
push eax
lea eax, [esi + 0x24]
push eax
lea ecx, [ebp - 0x34]
call fcn.1000a310
test byte [edi + 0x1e8], 0x10
je 0x10008c7f
lea eax, [edi + 0x7c]
push eax
lea eax, [esi + 0x30]
push eax
lea ecx, [ebp - 0x34]
call fcn.1000a310
test byte [edi + 0x1e8], 0x20
je 0x10008c9b
lea eax, [edi + 0x88]
push eax
lea eax, [esi + 0x3c]
push eax
lea ecx, [ebp - 0x34]
call fcn.1000a310
test byte [edi + 0x1e8], 4
je 0x100090cb
lea eax, [edi + 0x64]
lea ecx, [esi + 0xc]
mov dword [ebp - 0x2e4], eax
call fcn.100158fb
imul eax, eax, 3
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x10008cd8
cmp eax, 0x2aaaaaaa
jle 0x10008cd8
call fcn.10002288
mov eax, dword [ebp - 0x2d4]
push 3
push eax
imul eax, eax, 3
lea ecx, [edi + 0x64]
push eax
call fcn.100190a0
and dword [ebp - 0x2cc], 0
cmp dword [esi + 0x10], 0
jbe 0x10008f24
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 0x10008d99
call fcn.10018dc3
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x2f4], edi
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.10001cd4
push esi
mov esi, dword [ebp - 0x2f4]
mov edi, eax
push 1
mov ecx, esi
call fcn.100158ff
mov ecx, dword [ebp - 0x2fc]
imul ecx, edi
lea eax, [eax + ecx*8]
push eax
lea ecx, [ebp - 0x740]
call fcn.1001a388
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.10001cd4
mov dword [ebp - 0x728], eax
lea ecx, [ebp - 0x740]
lea eax, [ebp - 0xb54]
jmp 0x10008e10
call fcn.10018dc3
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x2f4], edi
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.10001cd4
push esi
mov esi, dword [ebp - 0x2f4]
mov edi, eax
push 1
mov ecx, esi
call fcn.100158ff
imul edi, dword [ebp - 0x2cc]
lea ecx, [ebp - 0x75c]
lea eax, [eax + edi*8]
push eax
call fcn.1001a388
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.10001cd4
mov dword [ebp - 0x744], eax
lea ecx, [ebp - 0x75c]
lea eax, [ebp - 0xb78]
push eax
call fcn.1001ab9a
mov edi, eax
mov eax, dword [ebp - 0x2e4]
mov esi, dword [eax + 8]
mov ecx, eax
mov dword [ebp - 4], 0x38
call fcn.10018dbf
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.1001a388
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.10018dbf
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.100158fb
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.10018dbf
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
mov edx, dword [ebp - 0x39c]
test edx, edx
jle 0x10008eee
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 0x10008edc
mov esi, dword [ebp - 0x2fc]
inc esi
sub dword [ebp - 0x2d4], 1
mov dword [ebp - 0x2fc], esi
jne 0x10008d0a
mov ecx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2ec]
inc ecx
mov dword [ebp - 0x2cc], ecx
cmp ecx, dword [eax + 0x10]
jb 0x10008cfa
mov edi, dword [ebp - 0x2e8]
cmp byte [ebx + 0xc], 0
je 0x100090cb
mov ecx, dword [ebp - 0x2e4]
lea eax, [ebp - 0x85c]
push eax
call fcn.10016340
mov ecx, eax
call fcn.10018dc3
mov ecx, dword [ebp - 0x2e4]
mov esi, eax
mov dword [ebp - 0x2d0], esi
call fcn.10018dc3
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.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
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.100158fb
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2cc], eax
call fcn.10018dbf
mov edi, dword [ebp - 0x2f4]
mov esi, eax
mov ecx, edi
call fcn.100158fb
mov ecx, dword [ebp - 0x2cc]
cmp eax, ecx
jne 0x10008fe3
mov ecx, edi
call fcn.10018dbf
cmp eax, esi
je 0x1000900f
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x10009002
test esi, esi
je 0x10009002
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x10009002
call fcn.10002288
mov ecx, dword [ebp - 0x2cc]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.100190a0
mov ecx, edi
mov byte [ebp - 4], 0x41
call fcn.10018dbf
mov ecx, edi
mov esi, eax
call fcn.100158ff
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], esi
mov ecx, edi
mov byte [ebp - 4], 0x42
call fcn.10018dc3
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.1003bf6d
mov esi, eax
xor edx, edx
test esi, esi
jle 0x100090a0
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 [0x100e1920]
mov eax, dword [eax]
movss dword [eax + ecx*4], xmm0
cmp edx, esi
jl 0x10009077
lea ecx, [ebp - 0xec]
call fcn.10010a40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x190]
call fcn.10010a40
mov ecx, dword [ebp - 0x2e4]
call fcn.10018dc3
mov edi, dword [ebp - 0x2e8]
test byte [edi + 0x1e8], 0x80
je 0x1000922e
mov ecx, dword [ebp - 0x2e0]
lea esi, [edi + 0x1c4]
mov dword [ebp - 0x2f4], esi
call fcn.100158fb
mov dword [ebp - 0x2d0], eax
test eax, eax
je 0x1000910b
cmp eax, 0x2aaaaaaa
jle 0x1000910b
call fcn.10002288
mov eax, dword [ebp - 0x2d0]
push 3
push eax
imul eax, eax, 3
mov ecx, esi
push eax
call fcn.100190a0
mov esi, dword [ebp - 0x2ec]
and dword [ebp - 0x2cc], 0
cmp dword [esi + 0x10], 0
jbe 0x10009234
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.10018dbf
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.1001a388
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.10018dbf
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.1002440e
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.1001582a
lea ecx, [ebp - 0x31c]
mov dword [ebp - 0x31c], esi
push ecx
mov ecx, eax
call fcn.1001582a
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 0x10009140
mov edi, dword [ebp - 0x2e8]
jmp 0x10009234
mov esi, dword [ebp - 0x2ec]
test byte [edi + 0x1e8], 2
je 0x10007ac7
lea eax, [esi + 0x78]
mov ecx, eax
mov dword [ebp - 0x2f4], eax
call fcn.100158fb
test eax, eax
jle 0x10007ac7
lea eax, [edi + 0x94]
lea ecx, [esi + 0xc]
mov dword [ebp - 0x2d4], eax
call fcn.100158fb
imul eax, eax, 3
mov dword [ebp - 0x2d0], eax
test eax, eax
je 0x1000928c
cmp eax, 0x3fffffff
jle 0x1000928c
call fcn.10002288
mov eax, dword [ebp - 0x2d0]
push 2
push eax
add eax, eax
lea ecx, [edi + 0x94]
push eax
call fcn.100190a0
and dword [ebp - 0x2cc], 0
cmp dword [esi + 0x10], 0
jbe 0x10007ac7
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 0x100092e7
mov edi, dword [ebp - 0x2d8]
mov ecx, edi
mov dword [ebp - 4], 0x46
call fcn.100158fb
mov ecx, dword [edi]
imul eax, esi
jmp 0x10009304
mov esi, dword [ebp - 0x2e0]
mov ecx, esi
mov dword [ebp - 4], 0x47
call fcn.100158fb
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.10018dbf
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.1001a388
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.10018dbf
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 4], 0x4c
mov ecx, dword [ebp - 0xa50]
call fcn.100158fb
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.10018dbf
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
mov edx, dword [ebp - 0x3b8]
test edx, edx
jle 0x10009425
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 0x10009413
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 0x100092be
mov eax, dword [ebp - 0x2cc]
mov esi, dword [ebp - 0x2ec]
inc eax
mov dword [ebp - 0x2cc], eax
cmp eax, dword [esi + 0x10]
jb 0x100092b0
jmp 0x10008c2c
mov esi, dword [ebp - 0x324]
mov ecx, esi
mov dword [ebp - 4], 0x8b
call fcn.100158fb
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.10036cef
cmp eax, esi
jle 0x100094cf
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.10036cef
cmp esi, eax
jl 0x100094a8
xor esi, esi
lea ecx, [ebp - 0x328]
inc esi
call fcn.10036cf6
cmp eax, esi
jle 0x1000953a
lea ecx, [ebp - 0x328]
xor edi, edi
call fcn.10036cef
test eax, eax
jle 0x10009524
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.10036cef
cmp edi, eax
jl 0x100094f2
lea ecx, [ebp - 0x328]
inc esi
call fcn.10036cf6
cmp esi, eax
jl 0x100094e1
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 0x10009dcb
call fcn.10095ee0
lea eax, [ebp - 0x628]
push eax
fstp qword [ebp - 0x628]
push dword [edi + 8]
lea ecx, [ebp - 0xa90]
push dword [edi + 4]
call fcn.10024432
push eax
lea ecx, [ebp - 0x4f8]
mov dword [ebp - 0x4fc], edi
call fcn.1001a0c3
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 0x100095ee
test esi, esi
je 0x100095d5
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
setg al
test al, al
je 0x100095d5
call fcn.10002288
mov esi, dword [ebp - 0x4f0]
mov edi, dword [ebp - 0x4f4]
test edi, edi
je 0x100095ee
test esi, esi
je 0x100095ee
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
jle 0x100095ee
call fcn.10002288
push esi
imul esi, edi
lea ecx, [ebp - 0x30]
push edi
push esi
call fcn.10018d78
mov esi, dword [ebp - 0x4fc]
lea eax, [ebp - 0x268]
mov dword [ebp - 0x2d0], eax
mov ecx, esi
mov byte [ebp - 4], 0x8f
call fcn.100158fb
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.10036e00
mov byte [ebp - 4], 0x91
mov edi, dword [ebp - 0x4f4]
mov esi, dword [ebp - 0x4f0]
cmp dword [ebp - 0x2c], edi
jne 0x10009657
cmp dword [ebp - 0x28], esi
je 0x1000967e
test edi, edi
je 0x10009670
test esi, esi
je 0x10009670
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
jle 0x10009670
call fcn.10002288
push esi
imul esi, edi
lea ecx, [ebp - 0x30]
push edi
push esi
call fcn.10018d78
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x92
call fcn.100158fb
mov edx, dword [ebp - 0x2c]
xor ecx, ecx
imul edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
test edx, edx
jle 0x100096b1
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 0x1000969a
mov esi, dword [ebp - 0x300]
xor edi, edi
mov dword [ebp - 4], 0x93
mov dword [ebp - 0x2e0], edi
cmp dword [esi + 0x10], edi
jle 0x10009d42
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.1001a53e
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.1001a388
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.100158fb
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.1001a388
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.1001a388
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.10019f58
mov eax, dword [edi + 0xc]
lea ecx, [ebp - 0x6b4]
push dword [edi + 0x14]
push 1
lea eax, [eax + esi*4]
push eax
call fcn.1001a388
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.100158fb
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.1001a388
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.1001a388
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.100158fb
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.100158fb
mov byte [ebp - 4], 0x94
mov edx, dword [ebp - 0x460]
test edx, edx
jle 0x10009939
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 0x10009922
mov eax, dword [edi + 0xc]
lea ecx, [ebp - 0x6d0]
push dword [edi + 0x14]
push 1
lea eax, [eax + esi*4]
push eax
call fcn.1001a388
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.100158fb
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.1001a388
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.1001a388
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.100158fb
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.100158fb
mov byte [ebp - 4], 0x94
mov edx, dword [ebp - 0x47c]
test edx, edx
jle 0x10009a7d
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 0x10009a66
mov eax, dword [edi]
lea ecx, [ebp - 0x36c]
push dword [edi + 8]
push 1
lea eax, [eax + esi*8]
push eax
call fcn.1001a388
fld qword [0x100e1868]
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.1002ecb9
lea eax, [ebp - 0x7b8]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.1003418d
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x2d0], eax
mov byte [ebp - 4], 0xb7
mov ecx, dword [ebp - 0x360]
call fcn.100158fb
mov byte [ebp - 4], 0x94
mov ecx, dword [ebp - 0x364]
test ecx, ecx
jle 0x10009b2b
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 0x10009b1a
fld qword [0x100e1788]
lea eax, [ebp - 0x638]
push eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0xac0]
push dword [ebp - 0x2c]
fstp qword [ebp - 0x638]
call fcn.10024432
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x96c], ecx
lea ecx, [ebp - 0x968]
push eax
call fcn.1001a0c3
push esi
lea eax, [ebp - 0x970]
push eax
lea ecx, [ebp - 0xaf8]
call fcn.10019f24
mov eax, dword [edi]
lea ecx, [ebp - 0x6ec]
push dword [edi + 8]
push 1
lea eax, [eax + esi*8]
push eax
call fcn.1001a388
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.100249c3
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.1001a388
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.100158fb
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.10036e00
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.100158fb
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.100158fb
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 0x10009d0b
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 0x10009cb7
mov edi, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x308]
lea eax, [ebp - 0x2c8]
push eax
call fcn.100206fe
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x93
call fcn.10019361
mov esi, dword [ebp - 0x300]
inc edi
mov dword [ebp - 0x2e0], edi
cmp edi, dword [esi + 0x10]
jl 0x100096fc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.100030db
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.100068bd
test dword [edi + 0x1e8], 0x400
je 0x1000a2cd
cmp dword [esi + 0xdc], 0
jne 0x1000a2b1
mov edx, dword [esi + 4]
lea ecx, [esi + 0xd8]
push 3
call fcn.10018893
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.1002eb9d
test eax, eax
jne 0x10009ddb
fldz
jmp 0x10009ec2
push edi
lea ecx, [ebp - 0x30]
fstp st(0)
call fcn.10019aa4
jmp 0x100096b7
mov esi, dword [ebp - 0x330]
mov ecx, esi
mov dword [ebp - 4], 0xc6
call fcn.100158fb
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.10036cef
cmp eax, esi
jle 0x10009e47
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.10036cef
cmp esi, eax
jl 0x10009e20
xor esi, esi
lea ecx, [ebp - 0x334]
inc esi
call fcn.10036cf6
cmp eax, esi
jle 0x10009eb2
lea ecx, [ebp - 0x334]
xor edi, edi
call fcn.10036cef
test eax, eax
jle 0x10009e9c
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.10036cef
cmp edi, eax
jl 0x10009e6a
lea ecx, [ebp - 0x334]
inc esi
call fcn.10036cf6
cmp esi, eax
jl 0x10009e59
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 0x1000a300
call fcn.10095ee0
lea eax, [ebp - 0x640]
push eax
fstp qword [ebp - 0x640]
push dword [edi + 8]
lea ecx, [ebp - 0xaa8]
push dword [edi + 4]
call fcn.10024432
push eax
lea ecx, [ebp - 0x520]
mov dword [ebp - 0x524], edi
call fcn.1001a0c3
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 0x10009f66
test esi, esi
je 0x10009f4d
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
setg al
test al, al
je 0x10009f4d
call fcn.10002288
mov esi, dword [ebp - 0x518]
mov edi, dword [ebp - 0x51c]
test edi, edi
je 0x10009f66
test esi, esi
je 0x10009f66
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
jle 0x10009f66
call fcn.10002288
push esi
imul esi, edi
lea ecx, [ebp - 0x24]
push edi
push esi
call fcn.10018d78
mov esi, dword [ebp - 0x524]
lea eax, [ebp - 0x288]
mov dword [ebp - 0x2d0], eax
mov ecx, esi
mov byte [ebp - 4], 0xca
call fcn.100158fb
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.10036e00
mov byte [ebp - 4], 0xcc
mov edi, dword [ebp - 0x51c]
mov esi, dword [ebp - 0x518]
cmp dword [ebp - 0x20], edi
jne 0x10009fcf
cmp dword [ebp - 0x1c], esi
je 0x10009ff6
test edi, edi
je 0x10009fe8
test esi, esi
je 0x10009fe8
mov eax, 0x7fffffff
cdq
idiv esi
cmp edi, eax
jle 0x10009fe8
call fcn.10002288
push esi
imul esi, edi
lea ecx, [ebp - 0x24]
push edi
push esi
call fcn.10018d78
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xcd
call fcn.100158fb
mov edx, dword [ebp - 0x20]
xor ecx, ecx
imul edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x24]
test edx, edx
jle 0x1000a029
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 0x1000a012
mov esi, dword [ebp - 0x300]
xor edi, edi
mov dword [ebp - 4], 0xce
mov dword [ebp - 0x2f0], edi
cmp dword [esi + 4], edi
jle 0x1000a29f
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.1001a53e
mov byte [ebp - 4], 0xcf
lea eax, [ebp - 0x648]
fld qword [0x100e1790]
lea ecx, [ebp - 0xa78]
push eax
push dword [ebp - 0x1c]
fstp qword [ebp - 0x648]
push dword [ebp - 0x20]
call fcn.10024432
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x994], ecx
lea ecx, [ebp - 0x990]
push eax
call fcn.1001a0c3
push edi
lea eax, [ebp - 0x998]
push eax
lea ecx, [ebp - 0xb30]
call fcn.10019f24
mov eax, dword [esi]
lea ecx, [ebp - 0x708]
push dword [esi + 8]
push 1
lea eax, [eax + edi*8]
push eax
call fcn.1001a388
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.100249c3
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.1001a388
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.100158fb
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.10036e00
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.100158fb
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.100158fb
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 0x1000a268
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 0x1000a214
mov edi, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x2dc]
lea eax, [ebp - 0x2a0]
push eax
call fcn.100206fe
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 0xce
call fcn.10019361
mov esi, dword [ebp - 0x300]
inc edi
mov dword [ebp - 0x2f0], edi
cmp edi, dword [esi + 4]
jl 0x1000a077
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.100030db
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.100068bd
test dword [edi + 0x1e8], 0x1000
je 0x1000a2f5
lea eax, [esi + 0x114]
mov ecx, esi
push eax
lea eax, [esi + 0xf0]
push eax
lea eax, [edi + 0x160]
push eax
call fcn.100068bd
mov ecx, dword [ebp - 0x14]
call fcn.10097b52
ret 0xc
push edi
lea ecx, [ebp - 0x24]
fstp st(0)
call fcn.10019aa4
jmp 0x1000a02f