40b3c4:	68 38 17 40 00       	push   $0x401738
40b3c9:	50                   	push   %eax
40b3ca:	ff 15 60 22 41 00    	call   *0x412260
40b3d0:	59                   	pop    %ecx
40b3d1:	59                   	pop    %ecx
40b3d2:	8b f0                	mov    %eax,%esi
40b3d4:	8b ce                	mov    %esi,%ecx
40b3d6:	e8 b0 f0 ff ff       	call   0x40a48b
40b3db:	8b 8d 14 f6 ff ff    	mov    -0x9ec(%ebp),%ecx
40b3e1:	40                   	inc    %eax
40b3e2:	39 01                	cmp    %eax,(%ecx)
40b3e4:	73 07                	jae    0x40b3ed
40b3e6:	33 db                	xor    %ebx,%ebx
40b3e8:	89 01                	mov    %eax,(%ecx)
40b3ea:	43                   	inc    %ebx
40b3eb:	eb 11                	jmp    0x40b3fe
40b3ed:	ff 31                	push   (%ecx)
40b3ef:	8b 8d 10 f6 ff ff    	mov    -0x9f0(%ebp),%ecx
40b3f5:	8b d6                	mov    %esi,%edx
40b3f7:	e8 fa ef ff ff       	call   0x40a3f6
40b3fc:	8b d8                	mov    %eax,%ebx
40b3fe:	ff b5 1c f6 ff ff    	push   -0x9e4(%ebp)
40b404:	ff 15 cc 21 41 00    	call   *0x4121cc
40b40a:	8b c3                	mov    %ebx,%eax
40b40c:	eb 14                	jmp    0x40b422
40b40e:	ff 15 48 20 41 00    	call   *0x412048
40b414:	85 c0                	test   %eax,%eax
40b416:	75 08                	jne    0x40b420
40b418:	6a 57                	push   $0x57
40b41a:	ff 15 74 20 41 00    	call   *0x412074
40b420:	33 c0                	xor    %eax,%eax
40b422:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b425:	5f                   	pop    %edi
40b426:	5e                   	pop    %esi
40b427:	33 cd                	xor    %ebp,%ecx
40b429:	5b                   	pop    %ebx
40b42a:	e8 a1 38 00 00       	call   0x40ecd0
40b42f:	c9                   	leave
40b430:	c2 08 00             	ret    $0x8
40b433:	8b ff                	mov    %edi,%edi
40b435:	55                   	push   %ebp
40b436:	8b ec                	mov    %esp,%ebp
40b438:	51                   	push   %ecx
40b439:	56                   	push   %esi
40b43a:	57                   	push   %edi
40b43b:	8b f9                	mov    %ecx,%edi
40b43d:	33 f6                	xor    %esi,%esi
40b43f:	89 75 fc             	mov    %esi,-0x4(%ebp)
40b442:	85 ff                	test   %edi,%edi
40b444:	74 6b                	je     0x40b4b1
40b446:	e8 40 f0 ff ff       	call   0x40a48b
40b44b:	85 c0                	test   %eax,%eax
40b44d:	74 62                	je     0x40b4b1
40b44f:	8b cf                	mov    %edi,%ecx
40b451:	e8 4a fb ff ff       	call   0x40afa0
40b456:	85 c0                	test   %eax,%eax
40b458:	75 27                	jne    0x40b481
40b45a:	57                   	push   %edi
40b45b:	68 c0 16 40 00       	push   $0x4016c0
40b460:	6a 01                	push   $0x1
40b462:	e8 04 e3 ff ff       	call   0x40976b
40b467:	83 c4 0c             	add    $0xc,%esp
40b46a:	85 c0                	test   %eax,%eax
40b46c:	74 2c                	je     0x40b49a
40b46e:	e8 79 e2 ff ff       	call   0x4096ec
40b473:	85 c0                	test   %eax,%eax
40b475:	75 13                	jne    0x40b48a
40b477:	6a 0d                	push   $0xd
40b479:	59                   	pop    %ecx
40b47a:	e8 d8 e0 ff ff       	call   0x409557
40b47f:	eb 15                	jmp    0x40b496
40b481:	8b cf                	mov    %edi,%ecx
40b483:	e8 84 e2 ff ff       	call   0x40970c
40b488:	eb e0                	jmp    0x40b46a
40b48a:	56                   	push   %esi
40b48b:	56                   	push   %esi
40b48c:	6a 0d                	push   $0xd
40b48e:	8b d0                	mov    %eax,%edx
40b490:	59                   	pop    %ecx
40b491:	e8 0d e1 ff ff       	call   0x4095a3
40b496:	85 c0                	test   %eax,%eax
40b498:	75 1d                	jne    0x40b4b7
40b49a:	ff 15 48 20 41 00    	call   *0x412048
40b4a0:	85 c0                	test   %eax,%eax
40b4a2:	75 08                	jne    0x40b4ac
40b4a4:	6a 08                	push   $0x8
40b4a6:	ff 15 74 20 41 00    	call   *0x412074
40b4ac:	e8 43 e3 ff ff       	call   0x4097f4
40b4b1:	33 c0                	xor    %eax,%eax
40b4b3:	5f                   	pop    %edi
40b4b4:	5e                   	pop    %esi
40b4b5:	c9                   	leave
40b4b6:	c3                   	ret
40b4b7:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40b4ba:	51                   	push   %ecx
40b4bb:	6a 65                	push   $0x65
40b4bd:	50                   	push   %eax
40b4be:	ff 15 18 23 41 00    	call   *0x412318
40b4c4:	85 c0                	test   %eax,%eax
40b4c6:	75 e9                	jne    0x40b4b1
40b4c8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b4cb:	f7 41 10 00 10 00 00 	testl  $0x1000,0x10(%ecx)
40b4d2:	74 0f                	je     0x40b4e3
40b4d4:	8b 41 08             	mov    0x8(%ecx),%eax
40b4d7:	83 e0 0f             	and    $0xf,%eax
40b4da:	69 f0 e8 03 00 00    	imul   $0x3e8,%eax,%esi
40b4e0:	03 71 0c             	add    0xc(%ecx),%esi
40b4e3:	51                   	push   %ecx
40b4e4:	ff 15 f4 22 41 00    	call   *0x4122f4
40b4ea:	8b c6                	mov    %esi,%eax
40b4ec:	eb c5                	jmp    0x40b4b3
40b4ee:	8b ff                	mov    %edi,%edi
40b4f0:	55                   	push   %ebp
40b4f1:	8b ec                	mov    %esp,%ebp
40b4f3:	83 e4 f8             	and    $0xfffffff8,%esp
40b4f6:	83 ec 24             	sub    $0x24,%esp
40b4f9:	53                   	push   %ebx
40b4fa:	56                   	push   %esi
40b4fb:	8b f1                	mov    %ecx,%esi
40b4fd:	57                   	push   %edi
40b4fe:	8b fa                	mov    %edx,%edi
40b500:	85 f6                	test   %esi,%esi
40b502:	0f 84 3f 01 00 00    	je     0x40b647
40b508:	e8 d5 fa ff ff       	call   0x40afe2
40b50d:	83 f8 01             	cmp    $0x1,%eax
40b510:	0f 84 31 01 00 00    	je     0x40b647
40b516:	8b ce                	mov    %esi,%ecx
40b518:	e8 83 fa ff ff       	call   0x40afa0
40b51d:	83 f8 01             	cmp    $0x1,%eax
40b520:	75 03                	jne    0x40b525
40b522:	83 c6 04             	add    $0x4,%esi
40b525:	8b ce                	mov    %esi,%ecx
40b527:	e8 22 fc ff ff       	call   0x40b14e
40b52c:	85 c0                	test   %eax,%eax
40b52e:	75 10                	jne    0x40b540
40b530:	e8 bf e2 ff ff       	call   0x4097f4
40b535:	ff 15 48 20 41 00    	call   *0x412048
40b53b:	e9 39 01 00 00       	jmp    0x40b679
40b540:	bb dc 18 40 00       	mov    $0x4018dc,%ebx
40b545:	53                   	push   %ebx
40b546:	ff 15 d4 20 41 00    	call   *0x4120d4
40b54c:	85 c0                	test   %eax,%eax
40b54e:	74 2a                	je     0x40b57a
40b550:	53                   	push   %ebx
40b551:	56                   	push   %esi
40b552:	68 e8 18 40 00       	push   $0x4018e8
40b557:	6a 02                	push   $0x2
40b559:	e8 0d e2 ff ff       	call   0x40976b
40b55e:	83 c4 10             	add    $0x10,%esp
40b561:	85 c0                	test   %eax,%eax
40b563:	74 37                	je     0x40b59c
40b565:	e8 82 e1 ff ff       	call   0x4096ec
40b56a:	33 db                	xor    %ebx,%ebx
40b56c:	85 c0                	test   %eax,%eax
40b56e:	75 1c                	jne    0x40b58c
40b570:	6a 12                	push   $0x12
40b572:	59                   	pop    %ecx
40b573:	e8 df df ff ff       	call   0x409557
40b578:	eb 1e                	jmp    0x40b598
40b57a:	56                   	push   %esi
40b57b:	68 c0 16 40 00       	push   $0x4016c0
40b580:	6a 01                	push   $0x1
40b582:	e8 e4 e1 ff ff       	call   0x40976b
40b587:	83 c4 0c             	add    $0xc,%esp
40b58a:	eb d5                	jmp    0x40b561
40b58c:	53                   	push   %ebx
40b58d:	53                   	push   %ebx
40b58e:	6a 12                	push   $0x12
40b590:	8b d0                	mov    %eax,%edx
40b592:	59                   	pop    %ecx
40b593:	e8 0b e0 ff ff       	call   0x4095a3
40b598:	85 c0                	test   %eax,%eax
40b59a:	75 1f                	jne    0x40b5bb
40b59c:	ff 15 48 20 41 00    	call   *0x412048
40b5a2:	85 c0                	test   %eax,%eax
40b5a4:	75 08                	jne    0x40b5ae
40b5a6:	6a 08                	push   $0x8
40b5a8:	ff 15 74 20 41 00    	call   *0x412074
40b5ae:	e8 41 e2 ff ff       	call   0x4097f4
40b5b3:	6a 08                	push   $0x8
40b5b5:	58                   	pop    %eax
40b5b6:	e9 be 00 00 00       	jmp    0x40b679
40b5bb:	53                   	push   %ebx
40b5bc:	57                   	push   %edi
40b5bd:	ff 75 08             	push   0x8(%ebp)
40b5c0:	89 44 24 30          	mov    %eax,0x30(%esp)
40b5c4:	8d 44 24 1c          	lea    0x1c(%esp),%eax
40b5c8:	50                   	push   %eax
40b5c9:	89 5c 24 20          	mov    %ebx,0x20(%esp)
40b5cd:	89 5c 24 28          	mov    %ebx,0x28(%esp)
40b5d1:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
40b5d5:	89 5c 24 38          	mov    %ebx,0x38(%esp)
40b5d9:	89 5c 24 24          	mov    %ebx,0x24(%esp)
40b5dd:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
40b5e1:	89 5c 24 30          	mov    %ebx,0x30(%esp)
40b5e5:	ff 15 0c 21 41 00    	call   *0x41210c
40b5eb:	8b f8                	mov    %eax,%edi
40b5ed:	85 ff                	test   %edi,%edi
40b5ef:	74 1d                	je     0x40b60e
40b5f1:	81 ff b8 04 00 00    	cmp    $0x4b8,%edi
40b5f7:	74 0e                	je     0x40b607
40b5f9:	57                   	push   %edi
40b5fa:	ff 15 74 20 41 00    	call   *0x412074
40b600:	e8 ef e1 ff ff       	call   0x4097f4
40b605:	eb 3c                	jmp    0x40b643
40b607:	e8 6d e2 ff ff       	call   0x409879
40b60c:	eb 35                	jmp    0x40b643
40b60e:	53                   	push   %ebx
40b60f:	8b fb                	mov    %ebx,%edi
40b611:	ff 15 74 20 41 00    	call   *0x412074
40b617:	8b ce                	mov    %esi,%ecx
40b619:	e8 15 fe ff ff       	call   0x40b433
40b61e:	3d 88 13 00 00       	cmp    $0x1388,%eax
40b623:	73 1e                	jae    0x40b643
40b625:	51                   	push   %ecx
40b626:	8b ce                	mov    %esi,%ecx
40b628:	e8 55 00 00 00       	call   0x40b682
40b62d:	b9 80 15 00 00       	mov    $0x1580,%ecx
40b632:	e8 1a e4 ff ff       	call   0x409a51
40b637:	8b c8                	mov    %eax,%ecx
40b639:	e8 ce e0 ff ff       	call   0x40970c
40b63e:	bf b8 04 00 00       	mov    $0x4b8,%edi
40b643:	8b c7                	mov    %edi,%eax
40b645:	eb 32                	jmp    0x40b679
40b647:	85 ff                	test   %edi,%edi
40b649:	74 2c                	je     0x40b677
40b64b:	57                   	push   %edi
40b64c:	ff 15 d4 20 41 00    	call   *0x4120d4
40b652:	85 c0                	test   %eax,%eax
40b654:	74 21                	je     0x40b677
40b656:	b9 7e 15 00 00       	mov    $0x157e,%ecx
40b65b:	e8 f1 e3 ff ff       	call   0x409a51
40b660:	8b c8                	mov    %eax,%ecx
40b662:	e8 a5 e0 ff ff       	call   0x40970c
40b667:	be 01 00 01 a0       	mov    $0xa0010001,%esi
40b66c:	56                   	push   %esi
40b66d:	ff 15 74 20 41 00    	call   *0x412074
40b673:	8b c6                	mov    %esi,%eax
40b675:	eb 02                	jmp    0x40b679
40b677:	33 c0                	xor    %eax,%eax
40b679:	5f                   	pop    %edi
40b67a:	5e                   	pop    %esi
40b67b:	5b                   	pop    %ebx
40b67c:	8b e5                	mov    %ebp,%esp
40b67e:	5d                   	pop    %ebp
40b67f:	c2 08 00             	ret    $0x8
40b682:	8b ff                	mov    %edi,%edi
40b684:	56                   	push   %esi
40b685:	8b f1                	mov    %ecx,%esi
40b687:	57                   	push   %edi
40b688:	85 f6                	test   %esi,%esi
40b68a:	0f 84 a6 00 00 00    	je     0x40b736
40b690:	56                   	push   %esi
40b691:	ff 15 d4 20 41 00    	call   *0x4120d4
40b697:	85 c0                	test   %eax,%eax
40b699:	0f 84 97 00 00 00    	je     0x40b736
40b69f:	8b ce                	mov    %esi,%ecx
40b6a1:	e8 fa f8 ff ff       	call   0x40afa0
40b6a6:	83 f8 01             	cmp    $0x1,%eax
40b6a9:	75 03                	jne    0x40b6ae
40b6ab:	83 c6 04             	add    $0x4,%esi
40b6ae:	68 dc 18 40 00       	push   $0x4018dc
40b6b3:	56                   	push   %esi
40b6b4:	68 e8 18 40 00       	push   $0x4018e8
40b6b9:	6a 02                	push   $0x2
40b6bb:	e8 ab e0 ff ff       	call   0x40976b
40b6c0:	83 c4 10             	add    $0x10,%esp
40b6c3:	85 c0                	test   %eax,%eax
40b6c5:	74 25                	je     0x40b6ec
40b6c7:	e8 20 e0 ff ff       	call   0x4096ec
40b6cc:	33 ff                	xor    %edi,%edi
40b6ce:	85 c0                	test   %eax,%eax
40b6d0:	75 0a                	jne    0x40b6dc
40b6d2:	6a 12                	push   $0x12
40b6d4:	59                   	pop    %ecx
40b6d5:	e8 7d de ff ff       	call   0x409557
40b6da:	eb 0c                	jmp    0x40b6e8
40b6dc:	57                   	push   %edi
40b6dd:	57                   	push   %edi
40b6de:	6a 12                	push   $0x12
40b6e0:	8b d0                	mov    %eax,%edx
40b6e2:	59                   	pop    %ecx
40b6e3:	e8 bb de ff ff       	call   0x4095a3
40b6e8:	85 c0                	test   %eax,%eax
40b6ea:	75 17                	jne    0x40b703
40b6ec:	ff 15 48 20 41 00    	call   *0x412048
40b6f2:	85 c0                	test   %eax,%eax
40b6f4:	75 08                	jne    0x40b6fe
40b6f6:	6a 08                	push   $0x8
40b6f8:	ff 15 74 20 41 00    	call   *0x412074
40b6fe:	6a 08                	push   $0x8
40b700:	58                   	pop    %eax
40b701:	eb 35                	jmp    0x40b738
40b703:	6a 01                	push   $0x1
40b705:	57                   	push   %edi
40b706:	50                   	push   %eax
40b707:	ff 15 04 21 41 00    	call   *0x412104
40b70d:	8b f0                	mov    %eax,%esi
40b70f:	85 f6                	test   %esi,%esi
40b711:	74 16                	je     0x40b729
40b713:	81 fe b8 04 00 00    	cmp    $0x4b8,%esi
40b719:	74 07                	je     0x40b722
40b71b:	e8 d4 e0 ff ff       	call   0x4097f4
40b720:	eb 10                	jmp    0x40b732
40b722:	e8 52 e1 ff ff       	call   0x409879
40b727:	eb 09                	jmp    0x40b732
40b729:	57                   	push   %edi
40b72a:	8b f7                	mov    %edi,%esi
40b72c:	ff 15 74 20 41 00    	call   *0x412074
40b732:	8b c6                	mov    %esi,%eax
40b734:	eb 02                	jmp    0x40b738
40b736:	33 c0                	xor    %eax,%eax
40b738:	5f                   	pop    %edi
40b739:	5e                   	pop    %esi
40b73a:	c2 04 00             	ret    $0x4
40b73d:	8b ff                	mov    %edi,%edi
40b73f:	56                   	push   %esi
40b740:	6a 00                	push   $0x0
40b742:	8b f1                	mov    %ecx,%esi
40b744:	ff 15 74 20 41 00    	call   *0x412074
40b74a:	85 f6                	test   %esi,%esi
40b74c:	75 16                	jne    0x40b764
40b74e:	ff 15 48 20 41 00    	call   *0x412048
40b754:	85 c0                	test   %eax,%eax
40b756:	75 08                	jne    0x40b760
40b758:	6a 57                	push   $0x57
40b75a:	ff 15 74 20 41 00    	call   *0x412074
40b760:	33 c0                	xor    %eax,%eax
40b762:	5e                   	pop    %esi
40b763:	c3                   	ret
40b764:	56                   	push   %esi
40b765:	ff 15 d4 20 41 00    	call   *0x4120d4
40b76b:	83 f8 01             	cmp    $0x1,%eax
40b76e:	7e f0                	jle    0x40b760
40b770:	66 8b 16             	mov    (%esi),%dx
40b773:	51                   	push   %ecx
40b774:	51                   	push   %ecx
40b775:	b9 9c 19 40 00       	mov    $0x40199c,%ecx
40b77a:	e8 21 e6 ff ff       	call   0x409da0
40b77f:	83 f8 ff             	cmp    $0xffffffff,%eax
40b782:	74 dc                	je     0x40b760
40b784:	33 c0                	xor    %eax,%eax
40b786:	40                   	inc    %eax
40b787:	5e                   	pop    %esi
40b788:	c3                   	ret
40b789:	8b ff                	mov    %edi,%edi
40b78b:	55                   	push   %ebp
40b78c:	8b ec                	mov    %esp,%ebp
40b78e:	83 ec 1c             	sub    $0x1c,%esp
40b791:	53                   	push   %ebx