40d164:	eb 85                	jmp    0x40d0eb
40d166:	be 00 01 00 00       	mov    $0x100,%esi
40d16b:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40d171:	56                   	push   %esi
40d172:	50                   	push   %eax
40d173:	68 2c 01 00 00       	push   $0x12c
40d178:	57                   	push   %edi
40d179:	ff 15 e0 61 41 00    	call   *0x4161e0
40d17f:	85 c0                	test   %eax,%eax
40d181:	75 20                	jne    0x40d1a3
40d183:	53                   	push   %ebx
40d184:	68 70 38 40 00       	push   $0x403870
40d189:	68 d3 06 00 00       	push   $0x6d3
40d18e:	68 d0 34 40 00       	push   $0x4034d0
40d193:	51                   	push   %ecx
40d194:	e8 39 3e 00 00       	call   0x410fd2
40d199:	be 05 40 00 80       	mov    $0x80004005,%esi
40d19e:	e9 94 00 00 00       	jmp    0x40d237
40d1a3:	56                   	push   %esi
40d1a4:	8d 85 e8 f9 ff ff    	lea    -0x618(%ebp),%eax
40d1aa:	50                   	push   %eax
40d1ab:	68 2d 01 00 00       	push   $0x12d
40d1b0:	57                   	push   %edi
40d1b1:	ff 15 e0 61 41 00    	call   *0x4161e0
40d1b7:	85 c0                	test   %eax,%eax
40d1b9:	75 0d                	jne    0x40d1c8
40d1bb:	53                   	push   %ebx
40d1bc:	68 70 38 40 00       	push   $0x403870
40d1c1:	68 de 06 00 00       	push   $0x6de
40d1c6:	eb c6                	jmp    0x40d18e
40d1c8:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40d1ce:	50                   	push   %eax
40d1cf:	e8 0c fe ff ff       	call   0x40cfe0
40d1d4:	85 c0                	test   %eax,%eax
40d1d6:	75 31                	jne    0x40d209
40d1d8:	8d 85 e8 f9 ff ff    	lea    -0x618(%ebp),%eax
40d1de:	50                   	push   %eax
40d1df:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40d1e5:	50                   	push   %eax
40d1e6:	e8 6f fe ff ff       	call   0x40d05a
40d1eb:	8b f0                	mov    %eax,%esi
40d1ed:	85 f6                	test   %esi,%esi
40d1ef:	79 18                	jns    0x40d209
40d1f1:	56                   	push   %esi
40d1f2:	68 70 38 40 00       	push   $0x403870
40d1f7:	68 ef 06 00 00       	push   $0x6ef
40d1fc:	68 d0 34 40 00       	push   $0x4034d0
40d201:	51                   	push   %ecx
40d202:	e8 cb 3d 00 00       	call   0x410fd2
40d207:	eb 2e                	jmp    0x40d237
40d209:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40d20f:	50                   	push   %eax
40d210:	e8 75 01 00 00       	call   0x40d38a
40d215:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40d21b:	50                   	push   %eax
40d21c:	e8 7a fc ff ff       	call   0x40ce9b
40d221:	85 c0                	test   %eax,%eax
40d223:	74 10                	je     0x40d235
40d225:	53                   	push   %ebx
40d226:	68 70 38 40 00       	push   $0x403870
40d22b:	68 03 07 00 00       	push   $0x703
40d230:	e9 59 ff ff ff       	jmp    0x40d18e
40d235:	8b f3                	mov    %ebx,%esi
40d237:	57                   	push   %edi
40d238:	ff 15 d0 60 41 00    	call   *0x4160d0
40d23e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d241:	8b c6                	mov    %esi,%eax
40d243:	5f                   	pop    %edi
40d244:	5e                   	pop    %esi
40d245:	33 cd                	xor    %ebp,%ecx
40d247:	5b                   	pop    %ebx
40d248:	e8 a3 4d 00 00       	call   0x411ff0
40d24d:	c9                   	leave
40d24e:	c3                   	ret
40d24f:	8b ff                	mov    %edi,%edi
40d251:	55                   	push   %ebp
40d252:	8b ec                	mov    %esp,%ebp
40d254:	81 ec 18 04 00 00    	sub    $0x418,%esp
40d25a:	a1 f4 51 41 00       	mov    0x4151f4,%eax
40d25f:	33 c5                	xor    %ebp,%eax
40d261:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d264:	56                   	push   %esi
40d265:	57                   	push   %edi
40d266:	68 05 01 00 00       	push   $0x105
40d26b:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40d271:	50                   	push   %eax
40d272:	ff 15 24 61 41 00    	call   *0x416124
40d278:	85 c0                	test   %eax,%eax
40d27a:	75 20                	jne    0x40d29c
40d27c:	50                   	push   %eax
40d27d:	68 c8 38 40 00       	push   $0x4038c8
40d282:	68 35 07 00 00       	push   $0x735
40d287:	68 d0 34 40 00       	push   $0x4034d0
40d28c:	51                   	push   %ecx
40d28d:	e8 40 3d 00 00       	call   0x410fd2
40d292:	be 05 40 00 80       	mov    $0x80004005,%esi
40d297:	e9 de 00 00 00       	jmp    0x40d37a
40d29c:	68 dc 39 40 00       	push   $0x4039dc
40d2a1:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40d2a7:	50                   	push   %eax
40d2a8:	68 b8 38 40 00       	push   $0x4038b8
40d2ad:	68 04 01 00 00       	push   $0x104
40d2b2:	50                   	push   %eax
40d2b3:	e8 1a de ff ff       	call   0x40b0d2
40d2b8:	8b f0                	mov    %eax,%esi
40d2ba:	83 c4 14             	add    $0x14,%esp
40d2bd:	85 f6                	test   %esi,%esi
40d2bf:	79 1b                	jns    0x40d2dc
40d2c1:	56                   	push   %esi
40d2c2:	68 c8 38 40 00       	push   $0x4038c8
40d2c7:	68 41 07 00 00       	push   $0x741
40d2cc:	68 d0 34 40 00       	push   $0x4034d0
40d2d1:	51                   	push   %ecx
40d2d2:	e8 fb 3c 00 00       	call   0x410fd2
40d2d7:	e9 9e 00 00 00       	jmp    0x40d37a
40d2dc:	6a 02                	push   $0x2
40d2de:	33 f6                	xor    %esi,%esi
40d2e0:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40d2e6:	56                   	push   %esi
40d2e7:	50                   	push   %eax
40d2e8:	ff 15 d8 60 41 00    	call   *0x4160d8
40d2ee:	8b f8                	mov    %eax,%edi
40d2f0:	85 ff                	test   %edi,%edi
40d2f2:	75 0d                	jne    0x40d301
40d2f4:	56                   	push   %esi
40d2f5:	68 c8 38 40 00       	push   $0x4038c8
40d2fa:	68 4b 07 00 00       	push   $0x74b
40d2ff:	eb 86                	jmp    0x40d287
40d301:	68 00 01 00 00       	push   $0x100
40d306:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
40d30c:	50                   	push   %eax
40d30d:	68 2c 01 00 00       	push   $0x12c
40d312:	57                   	push   %edi
40d313:	ff 15 e0 61 41 00    	call   *0x4161e0
40d319:	85 c0                	test   %eax,%eax
40d31b:	75 1d                	jne    0x40d33a
40d31d:	56                   	push   %esi
40d31e:	68 c8 38 40 00       	push   $0x4038c8
40d323:	68 59 07 00 00       	push   $0x759
40d328:	68 d0 34 40 00       	push   $0x4034d0
40d32d:	51                   	push   %ecx
40d32e:	e8 9f 3c 00 00       	call   0x410fd2
40d333:	be 05 40 00 80       	mov    $0x80004005,%esi
40d338:	eb 39                	jmp    0x40d373
40d33a:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
40d340:	50                   	push   %eax
40d341:	e8 22 fc ff ff       	call   0x40cf68
40d346:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
40d34c:	50                   	push   %eax
40d34d:	56                   	push   %esi
40d34e:	ff 15 10 63 41 00    	call   *0x416310
40d354:	85 c0                	test   %eax,%eax
40d356:	74 1b                	je     0x40d373
40d358:	be 05 40 00 80       	mov    $0x80004005,%esi
40d35d:	56                   	push   %esi
40d35e:	68 c8 38 40 00       	push   $0x4038c8
40d363:	68 71 07 00 00       	push   $0x771
40d368:	68 d0 34 40 00       	push   $0x4034d0
40d36d:	51                   	push   %ecx
40d36e:	e8 5f 3c 00 00       	call   0x410fd2
40d373:	57                   	push   %edi
40d374:	ff 15 d0 60 41 00    	call   *0x4160d0
40d37a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d37d:	8b c6                	mov    %esi,%eax
40d37f:	5f                   	pop    %edi
40d380:	33 cd                	xor    %ebp,%ecx
40d382:	5e                   	pop    %esi
40d383:	e8 68 4c 00 00       	call   0x411ff0
40d388:	c9                   	leave
40d389:	c3                   	ret
40d38a:	8b ff                	mov    %edi,%edi
40d38c:	55                   	push   %ebp
40d38d:	8b ec                	mov    %esp,%ebp
40d38f:	81 ec 30 02 00 00    	sub    $0x230,%esp
40d395:	a1 f4 51 41 00       	mov    0x4151f4,%eax
40d39a:	33 c5                	xor    %ebp,%eax
40d39c:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d39f:	53                   	push   %ebx
40d3a0:	8b 5d 08             	mov    0x8(%ebp),%ebx
40d3a3:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
40d3a9:	56                   	push   %esi
40d3aa:	57                   	push   %edi
40d3ab:	33 ff                	xor    %edi,%edi
40d3ad:	57                   	push   %edi
40d3ae:	50                   	push   %eax
40d3af:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
40d3b5:	89 bd e8 fd ff ff    	mov    %edi,-0x218(%ebp)
40d3bb:	50                   	push   %eax
40d3bc:	6a ff                	push   $0xffffffff
40d3be:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
40d3c4:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
40d3ca:	50                   	push   %eax
40d3cb:	57                   	push   %edi
40d3cc:	53                   	push   %ebx
40d3cd:	57                   	push   %edi
40d3ce:	ff 15 1c 63 41 00    	call   *0x41631c
40d3d4:	85 c0                	test   %eax,%eax
40d3d6:	74 1e                	je     0x40d3f6
40d3d8:	57                   	push   %edi
40d3d9:	68 14 39 40 00       	push   $0x403914
40d3de:	68 a4 07 00 00       	push   $0x7a4
40d3e3:	68 d0 34 40 00       	push   $0x4034d0
40d3e8:	51                   	push   %ecx
40d3e9:	e8 e4 3b 00 00       	call   0x410fd2
40d3ee:	6a 0c                	push   $0xc
40d3f0:	5e                   	pop    %esi
40d3f1:	e9 0e 01 00 00       	jmp    0x40d504
40d3f6:	ff b5 dc fd ff ff    	push   -0x224(%ebp)
40d3fc:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
40d402:	57                   	push   %edi
40d403:	53                   	push   %ebx
40d404:	57                   	push   %edi
40d405:	ff 15 20 63 41 00    	call   *0x416320
40d40b:	85 c0                	test   %eax,%eax
40d40d:	74 0d                	je     0x40d41c
40d40f:	57                   	push   %edi
40d410:	68 14 39 40 00       	push   $0x403914
40d415:	68 b5 07 00 00       	push   $0x7b5
40d41a:	eb c7                	jmp    0x40d3e3
40d41c:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40d422:	50                   	push   %eax
40d423:	68 19 00 02 00       	push   $0x20019
40d428:	57                   	push   %edi
40d429:	68 50 39 40 00       	push   $0x403950
40d42e:	68 02 00 00 80       	push   $0x80000002
40d433:	ff 15 04 60 41 00    	call   *0x416004
40d439:	8b f0                	mov    %eax,%esi
40d43b:	57                   	push   %edi
40d43c:	85 f6                	test   %esi,%esi
40d43e:	74 1a                	je     0x40d45a
40d440:	68 14 39 40 00       	push   $0x403914
40d445:	68 c5 07 00 00       	push   $0x7c5
40d44a:	68 d0 34 40 00       	push   $0x4034d0
40d44f:	51                   	push   %ecx
40d450:	e8 7d 3b 00 00       	call   0x410fd2
40d455:	e9 aa 00 00 00       	jmp    0x40d504
40d45a:	57                   	push   %edi
40d45b:	57                   	push   %edi
40d45c:	57                   	push   %edi
40d45d:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
40d463:	50                   	push   %eax
40d464:	57                   	push   %edi
40d465:	57                   	push   %edi
40d466:	57                   	push   %edi
40d467:	57                   	push   %edi
40d468:	57                   	push   %edi
40d469:	57                   	push   %edi
40d46a:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
40d470:	ff 15 14 60 41 00    	call   *0x416014
40d476:	8b f0                	mov    %eax,%esi
40d478:	85 f6                	test   %esi,%esi
40d47a:	74 0d                	je     0x40d489
40d47c:	57                   	push   %edi
40d47d:	68 14 39 40 00       	push   $0x403914
40d482:	68 da 07 00 00       	push   $0x7da
40d487:	eb c1                	jmp    0x40d44a
40d489:	39 bd e0 fd ff ff    	cmp    %edi,-0x220(%ebp)
40d48f:	76 71                	jbe    0x40d502
40d491:	33 c0                	xor    %eax,%eax
40d493:	c7 85 d8 fd ff ff 04 	movl   $0x104,-0x228(%ebp)
40d49a:	01 00 00
40d49d:	50                   	push   %eax
40d49e:	50                   	push   %eax
40d49f:	50                   	push   %eax
40d4a0:	50                   	push   %eax
40d4a1:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
40d4a7:	50                   	push   %eax
40d4a8:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
40d4ae:	50                   	push   %eax
40d4af:	57                   	push   %edi
40d4b0:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
40d4b6:	ff 15 70 60 41 00    	call   *0x416070
40d4bc:	85 c0                	test   %eax,%eax
40d4be:	74 19                	je     0x40d4d9
40d4c0:	6a 00                	push   $0x0
40d4c2:	68 14 39 40 00       	push   $0x403914
40d4c7:	68 ee 07 00 00       	push   $0x7ee
40d4cc:	68 d0 34 40 00       	push   $0x4034d0
40d4d1:	51                   	push   %ecx
40d4d2:	e8 fb 3a 00 00       	call   0x410fd2
40d4d7:	eb 20                	jmp    0x40d4f9
40d4d9:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
40d4df:	6a 01                	push   $0x1
40d4e1:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
40d4e7:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
40d4ed:	50                   	push   %eax
40d4ee:	6a 03                	push   $0x3
40d4f0:	53                   	push   %ebx
40d4f1:	6a 00                	push   $0x0
40d4f3:	ff 15 0c 63 41 00    	call   *0x41630c
40d4f9:	47                   	inc    %edi
40d4fa:	3b bd e0 fd ff ff    	cmp    -0x220(%ebp),%edi
40d500:	72 8f                	jb     0x40d491
40d502:	33 ff                	xor    %edi,%edi
40d504:	83 bd e8 fd ff ff 00 	cmpl   $0x0,-0x218(%ebp)
40d50b:	74 12                	je     0x40d51f
40d50d:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
40d513:	ff 15 18 60 41 00    	call   *0x416018
40d519:	89 bd e8 fd ff ff    	mov    %edi,-0x218(%ebp)
40d51f:	83 bd e4 fd ff ff 00 	cmpl   $0x0,-0x21c(%ebp)
40d526:	74 0c                	je     0x40d534
40d528:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
40d52e:	ff 15 04 63 41 00    	call   *0x416304
40d534:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40d537:	8b c6                	mov    %esi,%eax
40d539:	5f                   	pop    %edi
40d53a:	5e                   	pop    %esi
40d53b:	33 cd                	xor    %ebp,%ecx
40d53d:	5b                   	pop    %ebx
40d53e:	e8 ad 4a 00 00       	call   0x411ff0
40d543:	c9                   	leave
40d544:	c2 04 00             	ret    $0x4
40d547:	8b ff                	mov    %edi,%edi
40d549:	55                   	push   %ebp
40d54a:	8b ec                	mov    %esp,%ebp
40d54c:	56                   	push   %esi
40d54d:	33 f6                	xor    %esi,%esi
40d54f:	8b c6                	mov    %esi,%eax
40d551:	85 c9                	test   %ecx,%ecx
40d553:	74 31                	je     0x40d586
40d555:	8b c2                	mov    %edx,%eax
40d557:	d1 e8                	shr    $1,%eax
40d559:	8b d0                	mov    %eax,%edx
40d55b:	74 0d                	je     0x40d56a
40d55d:	66 39 31             	cmp    %si,(%ecx)
40d560:	74 08                	je     0x40d56a
40d562:	83 c1 02             	add    $0x2,%ecx
40d565:	83 e8 01             	sub    $0x1,%eax
40d568:	75 f3                	jne    0x40d55d
40d56a:	8b c8                	mov    %eax,%ecx
40d56c:	f7 d9                	neg    %ecx
40d56e:	1b c9                	sbb    %ecx,%ecx
40d570:	2b d0                	sub    %eax,%edx
40d572:	81 e1 a9 ff f8 7f    	and    $0x7ff8ffa9,%ecx
40d578:	81 c1 57 00 07 80    	add    $0x80070057,%ecx
40d57e:	f7 d8                	neg    %eax
40d580:	1b c0                	sbb    %eax,%eax
40d582:	23 c2                	and    %edx,%eax
40d584:	eb 05                	jmp    0x40d58b
40d586:	b9 57 00 07 80       	mov    $0x80070057,%ecx
40d58b:	8b 55 08             	mov    0x8(%ebp),%edx
40d58e:	85 d2                	test   %edx,%edx
40d590:	74 0c                	je     0x40d59e
40d592:	85 c9                	test   %ecx,%ecx
40d594:	78 06                	js     0x40d59c
40d596:	03 c0                	add    %eax,%eax
40d598:	89 02                	mov    %eax,(%edx)
40d59a:	eb 02                	jmp    0x40d59e
40d59c:	89 32                	mov    %esi,(%edx)
40d59e:	8b c1                	mov    %ecx,%eax