459f7c:	1b c0                	sbb    %eax,%eax
459f7e:	f7 d8                	neg    %eax
459f80:	f7 d8                	neg    %eax
459f82:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
459f89:	75 12                	jne    0x459f9d
459f8b:	6a 00                	push   $0x0
459f8d:	6a 00                	push   $0x0
459f8f:	6a 00                	push   $0x0
459f91:	6a ff                	push   $0xffffffff
459f93:	e8 44 11 fb ff       	call   0x40b0dc
459f98:	e9 99 00 00 00       	jmp    0x45a036
459f9d:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459fa3:	8b 40 4c             	mov    0x4c(%eax),%eax
459fa6:	83 e0 02             	and    $0x2,%eax
459fa9:	f7 d8                	neg    %eax
459fab:	1b c0                	sbb    %eax,%eax
459fad:	f7 d8                	neg    %eax
459faf:	f7 d8                	neg    %eax
459fb1:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
459fb8:	75 0f                	jne    0x459fc9
459fba:	6a 00                	push   $0x0
459fbc:	6a 00                	push   $0x0
459fbe:	6a ff                	push   $0xffffffff
459fc0:	6a 00                	push   $0x0
459fc2:	e8 15 11 fb ff       	call   0x40b0dc
459fc7:	eb 6d                	jmp    0x45a036
459fc9:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459fcf:	8b 40 4c             	mov    0x4c(%eax),%eax
459fd2:	83 e0 03             	and    $0x3,%eax
459fd5:	f7 d8                	neg    %eax
459fd7:	1b c0                	sbb    %eax,%eax
459fd9:	f7 d8                	neg    %eax
459fdb:	f7 d8                	neg    %eax
459fdd:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
459fe4:	75 0f                	jne    0x459ff5
459fe6:	6a 00                	push   $0x0
459fe8:	6a ff                	push   $0xffffffff
459fea:	6a 00                	push   $0x0
459fec:	6a 00                	push   $0x0
459fee:	e8 e9 10 fb ff       	call   0x40b0dc
459ff3:	eb 41                	jmp    0x45a036
459ff5:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459ffb:	8b 40 4c             	mov    0x4c(%eax),%eax
459ffe:	83 e0 04             	and    $0x4,%eax
45a001:	f7 d8                	neg    %eax
45a003:	1b c0                	sbb    %eax,%eax
45a005:	f7 d8                	neg    %eax
45a007:	f7 d8                	neg    %eax
45a009:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
45a010:	75 02                	jne    0x45a014
45a012:	eb 22                	jmp    0x45a036
45a014:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
45a01a:	8b 40 4c             	mov    0x4c(%eax),%eax
45a01d:	83 e0 05             	and    $0x5,%eax
45a020:	f7 d8                	neg    %eax
45a022:	1b c0                	sbb    %eax,%eax
45a024:	f7 d8                	neg    %eax
45a026:	f7 d8                	neg    %eax
45a028:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
45a02f:	75 05                	jne    0x45a036
45a031:	e8 45 11 fb ff       	call   0x40b17b
45a036:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
45a03c:	8b 40 0c             	mov    0xc(%eax),%eax
45a03f:	48                   	dec    %eax
45a040:	89 85 a0 fe ff ff    	mov    %eax,-0x160(%ebp)
45a046:	c7 85 a4 fe ff ff 01 	movl   $0x1,-0x15c(%ebp)
45a04d:	00 00 00
45a050:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
45a054:	eb 0c                	jmp    0x45a062
45a056:	8b 45 d0             	mov    -0x30(%ebp),%eax
45a059:	03 85 a4 fe ff ff    	add    -0x15c(%ebp),%eax
45a05f:	89 45 d0             	mov    %eax,-0x30(%ebp)
45a062:	8b 45 d0             	mov    -0x30(%ebp),%eax
45a065:	3b 85 a0 fe ff ff    	cmp    -0x160(%ebp),%eax
45a06b:	0f 8f 71 54 00 00    	jg     0x45f4e2
45a071:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
45a077:	8b 4d d0             	mov    -0x30(%ebp),%ecx
45a07a:	3b 48 10             	cmp    0x10(%eax),%ecx
45a07d:	0f 84 5a 54 00 00    	je     0x45f4dd
45a083:	83 c8 ff             	or     $0xffffffff,%eax
45a086:	85 c0                	test   %eax,%eax
45a088:	74 05                	je     0x45a08f
45a08a:	e9 93 28 00 00       	jmp    0x45c922
45a08f:	c7 85 1c ff ff ff 04 	movl   $0x80020004,-0xe4(%ebp)
45a096:	00 02 80
45a099:	c7 85 14 ff ff ff 0a 	movl   $0xa,-0xec(%ebp)
45a0a0:	00 00 00
45a0a3:	c7 85 2c ff ff ff 04 	movl   $0x80020004,-0xd4(%ebp)
45a0aa:	00 02 80
45a0ad:	c7 85 24 ff ff ff 0a 	movl   $0xa,-0xdc(%ebp)
45a0b4:	00 00 00
45a0b7:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
45a0be:	00 02 80
45a0c1:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
45a0c8:	00 00 00
45a0cb:	c7 85 0c ff ff ff 00 	movl   $0x403900,-0xf4(%ebp)
45a0d2:	39 40 00
45a0d5:	c7 85 04 ff ff ff 08 	movl   $0x8,-0xfc(%ebp)
45a0dc:	00 00 00
45a0df:	8d 95 04 ff ff ff    	lea    -0xfc(%ebp),%edx
45a0e5:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45a0eb:	e8 66 73 fa ff       	call   0x401456
45a0f0:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a0f6:	50                   	push   %eax
45a0f7:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a0fd:	50                   	push   %eax
45a0fe:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a104:	50                   	push   %eax
45a105:	6a 00                	push   $0x0
45a107:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a10d:	50                   	push   %eax
45a10e:	e8 49 73 fa ff       	call   0x40145c
45a113:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a119:	50                   	push   %eax
45a11a:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a120:	50                   	push   %eax
45a121:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a127:	50                   	push   %eax
45a128:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a12e:	50                   	push   %eax
45a12f:	6a 04                	push   $0x4
45a131:	e8 5c 73 fa ff       	call   0x401492
45a136:	83 c4 14             	add    $0x14,%esp
45a139:	c7 85 1c ff ff ff 04 	movl   $0x80020004,-0xe4(%ebp)
45a140:	00 02 80
45a143:	c7 85 14 ff ff ff 0a 	movl   $0xa,-0xec(%ebp)
45a14a:	00 00 00
45a14d:	c7 85 2c ff ff ff 04 	movl   $0x80020004,-0xd4(%ebp)
45a154:	00 02 80
45a157:	c7 85 24 ff ff ff 0a 	movl   $0xa,-0xdc(%ebp)
45a15e:	00 00 00
45a161:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
45a168:	00 02 80
45a16b:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
45a172:	00 00 00
45a175:	c7 85 0c ff ff ff 00 	movl   $0x403900,-0xf4(%ebp)
45a17c:	39 40 00
45a17f:	c7 85 04 ff ff ff 08 	movl   $0x8,-0xfc(%ebp)
45a186:	00 00 00
45a189:	8d 95 04 ff ff ff    	lea    -0xfc(%ebp),%edx
45a18f:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45a195:	e8 bc 72 fa ff       	call   0x401456
45a19a:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a1a0:	50                   	push   %eax
45a1a1:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a1a7:	50                   	push   %eax
45a1a8:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a1ae:	50                   	push   %eax
45a1af:	6a 00                	push   $0x0
45a1b1:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a1b7:	50                   	push   %eax
45a1b8:	e8 9f 72 fa ff       	call   0x40145c
45a1bd:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a1c3:	50                   	push   %eax
45a1c4:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a1ca:	50                   	push   %eax
45a1cb:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a1d1:	50                   	push   %eax
45a1d2:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a1d8:	50                   	push   %eax
45a1d9:	6a 04                	push   $0x4
45a1db:	e8 b2 72 fa ff       	call   0x401492
45a1e0:	83 c4 14             	add    $0x14,%esp
45a1e3:	c7 85 1c ff ff ff 04 	movl   $0x80020004,-0xe4(%ebp)
45a1ea:	00 02 80
45a1ed:	c7 85 14 ff ff ff 0a 	movl   $0xa,-0xec(%ebp)
45a1f4:	00 00 00
45a1f7:	c7 85 2c ff ff ff 04 	movl   $0x80020004,-0xd4(%ebp)
45a1fe:	00 02 80
45a201:	c7 85 24 ff ff ff 0a 	movl   $0xa,-0xdc(%ebp)
45a208:	00 00 00
45a20b:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
45a212:	00 02 80
45a215:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
45a21c:	00 00 00
45a21f:	c7 85 0c ff ff ff 00 	movl   $0x403900,-0xf4(%ebp)
45a226:	39 40 00
45a229:	c7 85 04 ff ff ff 08 	movl   $0x8,-0xfc(%ebp)
45a230:	00 00 00
45a233:	8d 95 04 ff ff ff    	lea    -0xfc(%ebp),%edx
45a239:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45a23f:	e8 12 72 fa ff       	call   0x401456
45a244:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a24a:	50                   	push   %eax
45a24b:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a251:	50                   	push   %eax
45a252:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a258:	50                   	push   %eax
45a259:	6a 00                	push   $0x0
45a25b:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a261:	50                   	push   %eax
45a262:	e8 f5 71 fa ff       	call   0x40145c
45a267:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a26d:	50                   	push   %eax
45a26e:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a274:	50                   	push   %eax
45a275:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a27b:	50                   	push   %eax
45a27c:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a282:	50                   	push   %eax
45a283:	6a 04                	push   $0x4
45a285:	e8 08 72 fa ff       	call   0x401492
45a28a:	83 c4 14             	add    $0x14,%esp
45a28d:	c7 85 1c ff ff ff 04 	movl   $0x80020004,-0xe4(%ebp)
45a294:	00 02 80
45a297:	c7 85 14 ff ff ff 0a 	movl   $0xa,-0xec(%ebp)
45a29e:	00 00 00
45a2a1:	c7 85 2c ff ff ff 04 	movl   $0x80020004,-0xd4(%ebp)
45a2a8:	00 02 80
45a2ab:	c7 85 24 ff ff ff 0a 	movl   $0xa,-0xdc(%ebp)
45a2b2:	00 00 00
45a2b5:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
45a2bc:	00 02 80
45a2bf:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
45a2c6:	00 00 00
45a2c9:	c7 85 0c ff ff ff 00 	movl   $0x403900,-0xf4(%ebp)
45a2d0:	39 40 00
45a2d3:	c7 85 04 ff ff ff 08 	movl   $0x8,-0xfc(%ebp)
45a2da:	00 00 00
45a2dd:	8d 95 04 ff ff ff    	lea    -0xfc(%ebp),%edx
45a2e3:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45a2e9:	e8 68 71 fa ff       	call   0x401456
45a2ee:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a2f4:	50                   	push   %eax
45a2f5:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a2fb:	50                   	push   %eax
45a2fc:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a302:	50                   	push   %eax
45a303:	6a 00                	push   $0x0
45a305:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a30b:	50                   	push   %eax
45a30c:	e8 4b 71 fa ff       	call   0x40145c
45a311:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a317:	50                   	push   %eax
45a318:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a31e:	50                   	push   %eax
45a31f:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a325:	50                   	push   %eax
45a326:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a32c:	50                   	push   %eax
45a32d:	6a 04                	push   $0x4
45a32f:	e8 5e 71 fa ff       	call   0x401492
45a334:	83 c4 14             	add    $0x14,%esp
45a337:	c7 85 1c ff ff ff 04 	movl   $0x80020004,-0xe4(%ebp)
45a33e:	00 02 80
45a341:	c7 85 14 ff ff ff 0a 	movl   $0xa,-0xec(%ebp)
45a348:	00 00 00
45a34b:	c7 85 2c ff ff ff 04 	movl   $0x80020004,-0xd4(%ebp)
45a352:	00 02 80
45a355:	c7 85 24 ff ff ff 0a 	movl   $0xa,-0xdc(%ebp)
45a35c:	00 00 00
45a35f:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
45a366:	00 02 80
45a369:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
45a370:	00 00 00
45a373:	c7 85 0c ff ff ff 00 	movl   $0x403900,-0xf4(%ebp)
45a37a:	39 40 00
45a37d:	c7 85 04 ff ff ff 08 	movl   $0x8,-0xfc(%ebp)
45a384:	00 00 00
45a387:	8d 95 04 ff ff ff    	lea    -0xfc(%ebp),%edx
45a38d:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45a393:	e8 be 70 fa ff       	call   0x401456
45a398:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a39e:	50                   	push   %eax
45a39f:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a3a5:	50                   	push   %eax
45a3a6:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a3ac:	50                   	push   %eax
45a3ad:	6a 00                	push   $0x0
45a3af:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a3b5:	50                   	push   %eax
45a3b6:	e8 a1 70 fa ff       	call   0x40145c
45a3bb:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a3c1:	50                   	push   %eax
45a3c2:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a3c8:	50                   	push   %eax
45a3c9:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a3cf:	50                   	push   %eax
45a3d0:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a3d6:	50                   	push   %eax
45a3d7:	6a 04                	push   $0x4
45a3d9:	e8 b4 70 fa ff       	call   0x401492
45a3de:	83 c4 14             	add    $0x14,%esp
45a3e1:	c7 85 1c ff ff ff 04 	movl   $0x80020004,-0xe4(%ebp)
45a3e8:	00 02 80
45a3eb:	c7 85 14 ff ff ff 0a 	movl   $0xa,-0xec(%ebp)
45a3f2:	00 00 00
45a3f5:	c7 85 2c ff ff ff 04 	movl   $0x80020004,-0xd4(%ebp)
45a3fc:	00 02 80
45a3ff:	c7 85 24 ff ff ff 0a 	movl   $0xa,-0xdc(%ebp)
45a406:	00 00 00
45a409:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
45a410:	00 02 80
45a413:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
45a41a:	00 00 00
45a41d:	c7 85 0c ff ff ff 00 	movl   $0x403900,-0xf4(%ebp)
45a424:	39 40 00
45a427:	c7 85 04 ff ff ff 08 	movl   $0x8,-0xfc(%ebp)
45a42e:	00 00 00
45a431:	8d 95 04 ff ff ff    	lea    -0xfc(%ebp),%edx
45a437:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45a43d:	e8 14 70 fa ff       	call   0x401456
45a442:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a448:	50                   	push   %eax
45a449:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a44f:	50                   	push   %eax
45a450:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a456:	50                   	push   %eax
45a457:	6a 00                	push   $0x0
45a459:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a45f:	50                   	push   %eax
45a460:	e8 f7 6f fa ff       	call   0x40145c
45a465:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a46b:	50                   	push   %eax
45a46c:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a472:	50                   	push   %eax
45a473:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a479:	50                   	push   %eax
45a47a:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a480:	50                   	push   %eax
45a481:	6a 04                	push   $0x4
45a483:	e8 0a 70 fa ff       	call   0x401492
45a488:	83 c4 14             	add    $0x14,%esp
45a48b:	c7 85 1c ff ff ff 04 	movl   $0x80020004,-0xe4(%ebp)
45a492:	00 02 80
45a495:	c7 85 14 ff ff ff 0a 	movl   $0xa,-0xec(%ebp)
45a49c:	00 00 00
45a49f:	c7 85 2c ff ff ff 04 	movl   $0x80020004,-0xd4(%ebp)
45a4a6:	00 02 80
45a4a9:	c7 85 24 ff ff ff 0a 	movl   $0xa,-0xdc(%ebp)
45a4b0:	00 00 00
45a4b3:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
45a4ba:	00 02 80
45a4bd:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
45a4c4:	00 00 00
45a4c7:	c7 85 0c ff ff ff 00 	movl   $0x403900,-0xf4(%ebp)
45a4ce:	39 40 00
45a4d1:	c7 85 04 ff ff ff 08 	movl   $0x8,-0xfc(%ebp)
45a4d8:	00 00 00
45a4db:	8d 95 04 ff ff ff    	lea    -0xfc(%ebp),%edx
45a4e1:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45a4e7:	e8 6a 6f fa ff       	call   0x401456
45a4ec:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a4f2:	50                   	push   %eax
45a4f3:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a4f9:	50                   	push   %eax
45a4fa:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a500:	50                   	push   %eax
45a501:	6a 00                	push   $0x0
45a503:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax