40933a:	88 45 b4             	mov    %al,-0x4c(%ebp)
40933d:	8d 45 b5             	lea    -0x4b(%ebp),%eax
409340:	50                   	push   %eax
409341:	e8 9a f0 00 00       	call   0x4183e0
409346:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
409349:	6a 04                	push   $0x4
40934b:	51                   	push   %ecx
40934c:	e8 2f fc 00 00       	call   0x418f80
409351:	8b 75 08             	mov    0x8(%ebp),%esi
409354:	6a 75                	push   $0x75
409356:	56                   	push   %esi
409357:	e8 44 e3 ff ff       	call   0x4076a0
40935c:	8b d8                	mov    %eax,%ebx
40935e:	6a 74                	push   $0x74
409360:	56                   	push   %esi
409361:	89 5d 08             	mov    %ebx,0x8(%ebp)
409364:	e8 37 e3 ff ff       	call   0x4076a0
409369:	83 c4 24             	add    $0x24,%esp
40936c:	8b f8                	mov    %eax,%edi
40936e:	85 db                	test   %ebx,%ebx
409370:	75 18                	jne    0x40938a
409372:	8d 55 b4             	lea    -0x4c(%ebp),%edx
409375:	52                   	push   %edx
409376:	8d 86 8c 0c 00 00    	lea    0xc8c(%esi),%eax
40937c:	50                   	push   %eax
40937d:	e8 9e f0 ff ff       	call   0x408420
409382:	83 c4 08             	add    $0x8,%esp
409385:	89 45 08             	mov    %eax,0x8(%ebp)
409388:	8b d8                	mov    %eax,%ebx
40938a:	85 ff                	test   %edi,%edi
40938c:	74 57                	je     0x4093e5
40938e:	6a 49                	push   $0x49
409390:	56                   	push   %esi
409391:	8d 9e 8c 0c 00 00    	lea    0xc8c(%esi),%ebx
409397:	e8 74 8e 00 00       	call   0x412210
40939c:	50                   	push   %eax
40939d:	6a 00                	push   $0x0
40939f:	6a 00                	push   $0x0
4093a1:	57                   	push   %edi
4093a2:	53                   	push   %ebx
4093a3:	e8 28 8f 00 00       	call   0x4122d0
4093a8:	6a 4a                	push   $0x4a
4093aa:	56                   	push   %esi
4093ab:	89 45 f4             	mov    %eax,-0xc(%ebp)
4093ae:	e8 5d 8e 00 00       	call   0x412210
4093b3:	50                   	push   %eax
4093b4:	6a 00                	push   $0x0
4093b6:	6a 00                	push   $0x0
4093b8:	57                   	push   %edi
4093b9:	53                   	push   %ebx
4093ba:	e8 11 8f 00 00       	call   0x4122d0
4093bf:	6a 48                	push   $0x48
4093c1:	56                   	push   %esi
4093c2:	89 45 f8             	mov    %eax,-0x8(%ebp)
4093c5:	e8 46 8e 00 00       	call   0x412210
4093ca:	83 c4 40             	add    $0x40,%esp
4093cd:	50                   	push   %eax
4093ce:	6a 00                	push   $0x0
4093d0:	6a 00                	push   $0x0
4093d2:	57                   	push   %edi
4093d3:	53                   	push   %ebx
4093d4:	e8 f7 8e 00 00       	call   0x4122d0
4093d9:	8b 5d 08             	mov    0x8(%ebp),%ebx
4093dc:	83 c4 14             	add    $0x14,%esp
4093df:	89 86 bc 0c 00 00    	mov    %eax,0xcbc(%esi)
4093e5:	85 db                	test   %ebx,%ebx
4093e7:	74 20                	je     0x409409
4093e9:	6a 4b                	push   $0x4b
4093eb:	56                   	push   %esi
4093ec:	e8 1f 8e 00 00       	call   0x412210
4093f1:	50                   	push   %eax
4093f2:	6a 00                	push   $0x0
4093f4:	6a 00                	push   $0x0
4093f6:	8d 8e 8c 0c 00 00    	lea    0xc8c(%esi),%ecx
4093fc:	53                   	push   %ebx
4093fd:	51                   	push   %ecx
4093fe:	e8 cd 8e 00 00       	call   0x4122d0
409403:	83 c4 1c             	add    $0x1c,%esp
409406:	89 45 fc             	mov    %eax,-0x4(%ebp)
409409:	e8 c2 22 01 00       	call   0x41b6d0
40940e:	89 70 03             	mov    %esi,0x3(%eax)
409411:	e8 cc 22 01 00       	call   0x41b6e2
409416:	8b 7d f4             	mov    -0xc(%ebp),%edi
409419:	89 70 03             	mov    %esi,0x3(%eax)
40941c:	85 ff                	test   %edi,%edi
40941e:	74 4c                	je     0x40946c
409420:	8b 5d f8             	mov    -0x8(%ebp),%ebx
409423:	85 db                	test   %ebx,%ebx
409425:	74 45                	je     0x40946c
409427:	83 be bc 0c 00 00 00 	cmpl   $0x0,0xcbc(%esi)
40942e:	74 3c                	je     0x40946c
409430:	6a 01                	push   $0x1
409432:	6a 00                	push   $0x0
409434:	e8 97 22 01 00       	call   0x41b6d0
409439:	83 c0 02             	add    $0x2,%eax
40943c:	50                   	push   %eax
40943d:	8d 96 08 16 00 00    	lea    0x1608(%esi),%edx
409443:	52                   	push   %edx
409444:	57                   	push   %edi
409445:	56                   	push   %esi
409446:	e8 c5 9a ff ff       	call   0x402f10
40944b:	83 c4 18             	add    $0x18,%esp
40944e:	6a 01                	push   $0x1
409450:	6a 00                	push   $0x0
409452:	e8 79 22 01 00       	call   0x41b6d0
409457:	83 c0 02             	add    $0x2,%eax
40945a:	50                   	push   %eax
40945b:	8d 86 88 16 00 00    	lea    0x1688(%esi),%eax
409461:	50                   	push   %eax
409462:	53                   	push   %ebx
409463:	56                   	push   %esi
409464:	e8 a7 9a ff ff       	call   0x402f10
409469:	83 c4 18             	add    $0x18,%esp
40946c:	8b 7d fc             	mov    -0x4(%ebp),%edi
40946f:	85 ff                	test   %edi,%edi
409471:	74 1e                	je     0x409491
409473:	6a 00                	push   $0x0
409475:	6a 00                	push   $0x0
409477:	e8 66 22 01 00       	call   0x41b6e2
40947c:	83 c0 02             	add    $0x2,%eax
40947f:	50                   	push   %eax
409480:	8d 8e 08 17 00 00    	lea    0x1708(%esi),%ecx
409486:	51                   	push   %ecx
409487:	57                   	push   %edi
409488:	56                   	push   %esi
409489:	e8 82 9a ff ff       	call   0x402f10
40948e:	83 c4 18             	add    $0x18,%esp
409491:	33 c0                	xor    %eax,%eax
409493:	6a 3f                	push   $0x3f
409495:	50                   	push   %eax
409496:	8d 95 35 ff ff ff    	lea    -0xcb(%ebp),%edx
40949c:	52                   	push   %edx
40949d:	89 45 f8             	mov    %eax,-0x8(%ebp)
4094a0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4094a3:	88 85 34 ff ff ff    	mov    %al,-0xcc(%ebp)
4094a9:	e8 32 ef 00 00       	call   0x4183e0
4094ae:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
4094b4:	6a 01                	push   $0x1
4094b6:	50                   	push   %eax
4094b7:	e8 c4 fa 00 00       	call   0x418f80
4094bc:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
4094c2:	51                   	push   %ecx
4094c3:	8d be 8c 0c 00 00    	lea    0xc8c(%esi),%edi
4094c9:	57                   	push   %edi
4094ca:	e8 51 ef ff ff       	call   0x408420
4094cf:	6a 76                	push   $0x76
4094d1:	56                   	push   %esi
4094d2:	89 45 08             	mov    %eax,0x8(%ebp)
4094d5:	e8 c6 e1 ff ff       	call   0x4076a0
4094da:	8b d8                	mov    %eax,%ebx
4094dc:	83 c4 24             	add    $0x24,%esp
4094df:	85 db                	test   %ebx,%ebx
4094e1:	74 1b                	je     0x4094fe
4094e3:	6a 4c                	push   $0x4c
4094e5:	56                   	push   %esi
4094e6:	e8 25 8d 00 00       	call   0x412210
4094eb:	50                   	push   %eax
4094ec:	6a 00                	push   $0x0
4094ee:	6a 00                	push   $0x0
4094f0:	53                   	push   %ebx
4094f1:	57                   	push   %edi
4094f2:	e8 d9 8d 00 00       	call   0x4122d0
4094f7:	83 c4 1c             	add    $0x1c,%esp
4094fa:	8b d8                	mov    %eax,%ebx
4094fc:	eb 03                	jmp    0x409501
4094fe:	8b 5d f8             	mov    -0x8(%ebp),%ebx
409501:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
409505:	74 1d                	je     0x409524
409507:	6a 4c                	push   $0x4c
409509:	56                   	push   %esi
40950a:	e8 01 8d 00 00       	call   0x412210
40950f:	8b 55 08             	mov    0x8(%ebp),%edx
409512:	50                   	push   %eax
409513:	6a 00                	push   $0x0
409515:	6a 00                	push   $0x0
409517:	52                   	push   %edx
409518:	57                   	push   %edi
409519:	e8 b2 8d 00 00       	call   0x4122d0
40951e:	83 c4 1c             	add    $0x1c,%esp
409521:	89 45 fc             	mov    %eax,-0x4(%ebp)
409524:	e8 ef 21 01 00       	call   0x41b718
409529:	89 70 03             	mov    %esi,0x3(%eax)
40952c:	85 db                	test   %ebx,%ebx
40952e:	74 1e                	je     0x40954e
409530:	6a 00                	push   $0x0
409532:	6a 01                	push   $0x1
409534:	e8 df 21 01 00       	call   0x41b718
409539:	83 c0 02             	add    $0x2,%eax
40953c:	50                   	push   %eax
40953d:	8d 86 08 18 00 00    	lea    0x1808(%esi),%eax
409543:	50                   	push   %eax
409544:	53                   	push   %ebx
409545:	56                   	push   %esi
409546:	e8 c5 99 ff ff       	call   0x402f10
40954b:	83 c4 18             	add    $0x18,%esp
40954e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
409551:	85 db                	test   %ebx,%ebx
409553:	74 1e                	je     0x409573
409555:	6a 00                	push   $0x0
409557:	6a 01                	push   $0x1
409559:	e8 ba 21 01 00       	call   0x41b718
40955e:	83 c0 02             	add    $0x2,%eax
409561:	50                   	push   %eax
409562:	8d 8e 88 18 00 00    	lea    0x1888(%esi),%ecx
409568:	51                   	push   %ecx
409569:	53                   	push   %ebx
40956a:	56                   	push   %esi
40956b:	e8 a0 99 ff ff       	call   0x402f10
409570:	83 c4 18             	add    $0x18,%esp
409573:	33 db                	xor    %ebx,%ebx
409575:	6a 3f                	push   $0x3f
409577:	8d 95 75 ff ff ff    	lea    -0x8b(%ebp),%edx
40957d:	53                   	push   %ebx
40957e:	52                   	push   %edx
40957f:	88 9d 74 ff ff ff    	mov    %bl,-0x8c(%ebp)
409585:	e8 56 ee 00 00       	call   0x4183e0
40958a:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
409590:	6a 08                	push   $0x8
409592:	50                   	push   %eax
409593:	e8 e8 f9 00 00       	call   0x418f80
409598:	6a 3f                	push   $0x3f
40959a:	8d 8d f5 fe ff ff    	lea    -0x10b(%ebp),%ecx
4095a0:	53                   	push   %ebx
4095a1:	51                   	push   %ecx
4095a2:	88 9d f4 fe ff ff    	mov    %bl,-0x10c(%ebp)
4095a8:	e8 33 ee 00 00       	call   0x4183e0
4095ad:	8d 95 f4 fe ff ff    	lea    -0x10c(%ebp),%edx
4095b3:	6a 05                	push   $0x5
4095b5:	52                   	push   %edx
4095b6:	e8 c5 f9 00 00       	call   0x418f80
4095bb:	6a 77                	push   $0x77
4095bd:	56                   	push   %esi
4095be:	e8 dd e0 ff ff       	call   0x4076a0
4095c3:	83 c4 30             	add    $0x30,%esp
4095c6:	85 c0                	test   %eax,%eax
4095c8:	75 28                	jne    0x4095f2
4095ca:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
4095d0:	50                   	push   %eax
4095d1:	57                   	push   %edi
4095d2:	e8 49 ee ff ff       	call   0x408420
4095d7:	83 c4 08             	add    $0x8,%esp
4095da:	85 c0                	test   %eax,%eax
4095dc:	75 14                	jne    0x4095f2
4095de:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
4095e4:	51                   	push   %ecx
4095e5:	57                   	push   %edi
4095e6:	e8 35 ee ff ff       	call   0x408420
4095eb:	83 c4 08             	add    $0x8,%esp
4095ee:	85 c0                	test   %eax,%eax
4095f0:	74 0c                	je     0x4095fe
4095f2:	50                   	push   %eax
4095f3:	56                   	push   %esi
4095f4:	e8 87 ae ff ff       	call   0x404480
4095f9:	83 c4 08             	add    $0x8,%esp
4095fc:	8b d8                	mov    %eax,%ebx
4095fe:	8b 96 98 0c 00 00    	mov    0xc98(%esi),%edx
409604:	68 dc 1d db 15       	push   $0x15db1ddc
409609:	6a 00                	push   $0x0
40960b:	6a 00                	push   $0x0
40960d:	52                   	push   %edx
40960e:	57                   	push   %edi
40960f:	e8 bc 8c 00 00       	call   0x4122d0
409614:	83 c4 14             	add    $0x14,%esp
409617:	8b f8                	mov    %eax,%edi
409619:	e8 0c 21 01 00       	call   0x41b72a
40961e:	89 70 03             	mov    %esi,0x3(%eax)
409621:	e8 16 21 01 00       	call   0x41b73c
409626:	89 70 03             	mov    %esi,0x3(%eax)
409629:	85 db                	test   %ebx,%ebx
40962b:	74 1e                	je     0x40964b
40962d:	6a 01                	push   $0x1
40962f:	6a 02                	push   $0x2
409631:	e8 f4 20 01 00       	call   0x41b72a
409636:	83 c0 02             	add    $0x2,%eax
409639:	50                   	push   %eax
40963a:	8d 86 08 19 00 00    	lea    0x1908(%esi),%eax
409640:	50                   	push   %eax
409641:	53                   	push   %ebx
409642:	56                   	push   %esi
409643:	e8 c8 98 ff ff       	call   0x402f10
409648:	83 c4 18             	add    $0x18,%esp
40964b:	85 ff                	test   %edi,%edi
40964d:	74 1e                	je     0x40966d
40964f:	6a 00                	push   $0x0
409651:	6a 00                	push   $0x0
409653:	e8 e4 20 01 00       	call   0x41b73c
409658:	83 c0 02             	add    $0x2,%eax
40965b:	50                   	push   %eax
40965c:	8d 8e 88 19 00 00    	lea    0x1988(%esi),%ecx
409662:	51                   	push   %ecx
409663:	57                   	push   %edi
409664:	56                   	push   %esi
409665:	e8 a6 98 ff ff       	call   0x402f10
40966a:	83 c4 18             	add    $0x18,%esp
40966d:	56                   	push   %esi
40966e:	e8 4d b3 00 00       	call   0x4149c0
409673:	83 c4 04             	add    $0x4,%esp
409676:	5f                   	pop    %edi
409677:	5e                   	pop    %esi
409678:	5b                   	pop    %ebx
409679:	8b e5                	mov    %ebp,%esp
40967b:	5d                   	pop    %ebp
40967c:	c3                   	ret
40967d:	48                   	dec    %eax
40967e:	3a d6                	cmp    %dh,%dl
409680:	55                   	push   %ebp
409681:	8b ec                	mov    %esp,%ebp
409683:	83 ec 54             	sub    $0x54,%esp
409686:	53                   	push   %ebx
409687:	33 c0                	xor    %eax,%eax
409689:	56                   	push   %esi
40968a:	57                   	push   %edi
40968b:	6a 3f                	push   $0x3f
40968d:	50                   	push   %eax
40968e:	89 45 ec             	mov    %eax,-0x14(%ebp)
409691:	89 45 f8             	mov    %eax,-0x8(%ebp)
409694:	89 45 fc             	mov    %eax,-0x4(%ebp)
409697:	89 45 f4             	mov    %eax,-0xc(%ebp)
40969a:	89 45 f0             	mov    %eax,-0x10(%ebp)
40969d:	88 45 ac             	mov    %al,-0x54(%ebp)
4096a0:	8d 45 ad             	lea    -0x53(%ebp),%eax
4096a3:	50                   	push   %eax
4096a4:	e8 37 ed 00 00       	call   0x4183e0
4096a9:	8d 4d ac             	lea    -0x54(%ebp),%ecx
4096ac:	6a 04                	push   $0x4
4096ae:	51                   	push   %ecx
4096af:	e8 cc f8 00 00       	call   0x418f80
4096b4:	8b 75 08             	mov    0x8(%ebp),%esi
4096b7:	6a 75                	push   $0x75
4096b9:	56                   	push   %esi
4096ba:	e8 e1 df ff ff       	call   0x4076a0
4096bf:	8b d8                	mov    %eax,%ebx
4096c1:	6a 74                	push   $0x74
4096c3:	56                   	push   %esi
4096c4:	89 5d 08             	mov    %ebx,0x8(%ebp)
4096c7:	e8 d4 df ff ff       	call   0x4076a0
4096cc:	83 c4 24             	add    $0x24,%esp
4096cf:	8b f8                	mov    %eax,%edi
4096d1:	85 db                	test   %ebx,%ebx
4096d3:	75 18                	jne    0x4096ed
4096d5:	8d 55 ac             	lea    -0x54(%ebp),%edx
4096d8:	52                   	push   %edx
4096d9:	8d 86 8c 0c 00 00    	lea    0xc8c(%esi),%eax
4096df:	50                   	push   %eax
4096e0:	e8 3b ed ff ff       	call   0x408420
4096e5:	83 c4 08             	add    $0x8,%esp
4096e8:	89 45 08             	mov    %eax,0x8(%ebp)
4096eb:	8b d8                	mov    %eax,%ebx
4096ed:	85 ff                	test   %edi,%edi
4096ef:	74 7d                	je     0x40976e