4084aa:	50                   	push   %eax
4084ab:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4084ae:	51                   	push   %ecx
4084af:	e8 4c cf ff ff       	call   0x405400
4084b4:	8b 50 10             	mov    0x10(%eax),%edx
4084b7:	52                   	push   %edx
4084b8:	8b 45 14             	mov    0x14(%ebp),%eax
4084bb:	50                   	push   %eax
4084bc:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
4084bf:	51                   	push   %ecx
4084c0:	8b 55 18             	mov    0x18(%ebp),%edx
4084c3:	52                   	push   %edx
4084c4:	e8 07 f4 ff ff       	call   0x4078d0
4084c9:	83 c4 18             	add    $0x18,%esp
4084cc:	85 c0                	test   %eax,%eax
4084ce:	74 43                	je     0x408513
4084d0:	6a 00                	push   $0x0
4084d2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4084d5:	50                   	push   %eax
4084d6:	e8 25 cf ff ff       	call   0x405400
4084db:	8b 48 10             	mov    0x10(%eax),%ecx
4084de:	51                   	push   %ecx
4084df:	8b 55 fc             	mov    -0x4(%ebp),%edx
4084e2:	52                   	push   %edx
4084e3:	8b 45 08             	mov    0x8(%ebp),%eax
4084e6:	50                   	push   %eax
4084e7:	e8 d4 a0 ff ff       	call   0x4025c0
4084ec:	8b 88 d4 00 00 00    	mov    0xd4(%eax),%ecx
4084f2:	ff d1                	call   *%ecx
4084f4:	85 c0                	test   %eax,%eax
4084f6:	74 0f                	je     0x408507
4084f8:	8b 55 20             	mov    0x20(%ebp),%edx
4084fb:	8b 45 f0             	mov    -0x10(%ebp),%eax
4084fe:	89 02                	mov    %eax,(%edx)
408500:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
408507:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40850a:	51                   	push   %ecx
40850b:	e8 a0 e3 ff ff       	call   0x4068b0
408510:	83 c4 04             	add    $0x4,%esp
408513:	8b 45 f8             	mov    -0x8(%ebp),%eax
408516:	8b e5                	mov    %ebp,%esp
408518:	5d                   	pop    %ebp
408519:	c3                   	ret
40851a:	cc                   	int3
40851b:	cc                   	int3
40851c:	cc                   	int3
40851d:	cc                   	int3
40851e:	cc                   	int3
40851f:	cc                   	int3
408520:	55                   	push   %ebp
408521:	8b ec                	mov    %esp,%ebp
408523:	83 ec 2c             	sub    $0x2c,%esp
408526:	56                   	push   %esi
408527:	57                   	push   %edi
408528:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40852f:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
408533:	74 12                	je     0x408547
408535:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
408539:	74 0c                	je     0x408547
40853b:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
40853f:	74 06                	je     0x408547
408541:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
408545:	75 08                	jne    0x40854f
408547:	8b 45 f4             	mov    -0xc(%ebp),%eax
40854a:	e9 dc 01 00 00       	jmp    0x40872b
40854f:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
408556:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
40855a:	74 1c                	je     0x408578
40855c:	8d 45 0c             	lea    0xc(%ebp),%eax
40855f:	50                   	push   %eax
408560:	8b 4d 08             	mov    0x8(%ebp),%ecx
408563:	51                   	push   %ecx
408564:	e8 27 fb ff ff       	call   0x408090
408569:	83 c4 08             	add    $0x8,%esp
40856c:	85 c0                	test   %eax,%eax
40856e:	75 08                	jne    0x408578
408570:	8b 45 f4             	mov    -0xc(%ebp),%eax
408573:	e9 b3 01 00 00       	jmp    0x40872b
408578:	e8 83 ce ff ff       	call   0x405400
40857d:	8b 50 10             	mov    0x10(%eax),%edx
408580:	52                   	push   %edx
408581:	e8 fa e2 ff ff       	call   0x406880
408586:	83 c4 04             	add    $0x4,%esp
408589:	89 45 f8             	mov    %eax,-0x8(%ebp)
40858c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
408590:	0f 84 92 01 00 00    	je     0x408728
408596:	6a 00                	push   $0x0
408598:	6a 02                	push   $0x2
40859a:	8b 45 10             	mov    0x10(%ebp),%eax
40859d:	50                   	push   %eax
40859e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4085a1:	51                   	push   %ecx
4085a2:	e8 39 29 00 00       	call   0x40aee0
4085a7:	8b f0                	mov    %eax,%esi
4085a9:	8b fa                	mov    %edx,%edi
4085ab:	e8 50 ce ff ff       	call   0x405400
4085b0:	8b 50 10             	mov    0x10(%eax),%edx
4085b3:	33 c0                	xor    %eax,%eax
4085b5:	03 f2                	add    %edx,%esi
4085b7:	13 f8                	adc    %eax,%edi
4085b9:	83 ee 01             	sub    $0x1,%esi
4085bc:	83 df 00             	sbb    $0x0,%edi
4085bf:	e8 3c ce ff ff       	call   0x405400
4085c4:	8b 48 10             	mov    0x10(%eax),%ecx
4085c7:	33 d2                	xor    %edx,%edx
4085c9:	52                   	push   %edx
4085ca:	51                   	push   %ecx
4085cb:	57                   	push   %edi
4085cc:	56                   	push   %esi
4085cd:	e8 0e 29 00 00       	call   0x40aee0
4085d2:	8b f0                	mov    %eax,%esi
4085d4:	8b fa                	mov    %edx,%edi
4085d6:	e8 25 ce ff ff       	call   0x405400
4085db:	8b 40 10             	mov    0x10(%eax),%eax
4085de:	33 c9                	xor    %ecx,%ecx
4085e0:	51                   	push   %ecx
4085e1:	50                   	push   %eax
4085e2:	57                   	push   %edi
4085e3:	56                   	push   %esi
4085e4:	e8 87 2a 00 00       	call   0x40b070
4085e9:	89 45 dc             	mov    %eax,-0x24(%ebp)
4085ec:	89 55 e0             	mov    %edx,-0x20(%ebp)
4085ef:	e8 0c ce ff ff       	call   0x405400
4085f4:	8b 50 10             	mov    0x10(%eax),%edx
4085f7:	33 c0                	xor    %eax,%eax
4085f9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4085fc:	2b ca                	sub    %edx,%ecx
4085fe:	8b 55 10             	mov    0x10(%ebp),%edx
408601:	1b d0                	sbb    %eax,%edx
408603:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
408606:	89 55 d8             	mov    %edx,-0x28(%ebp)
408609:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
408610:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
408617:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40861e:	8d 45 e8             	lea    -0x18(%ebp),%eax
408621:	50                   	push   %eax
408622:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
408625:	51                   	push   %ecx
408626:	8b 55 18             	mov    0x18(%ebp),%edx
408629:	52                   	push   %edx
40862a:	8b 45 f8             	mov    -0x8(%ebp),%eax
40862d:	50                   	push   %eax
40862e:	6a 00                	push   $0x0
408630:	6a 00                	push   $0x0
408632:	8b 4d 08             	mov    0x8(%ebp),%ecx
408635:	51                   	push   %ecx
408636:	e8 a5 fd ff ff       	call   0x4083e0
40863b:	83 c4 1c             	add    $0x1c,%esp
40863e:	85 c0                	test   %eax,%eax
408640:	0f 84 d6 00 00 00    	je     0x40871c
408646:	8d 55 ec             	lea    -0x14(%ebp),%edx
408649:	52                   	push   %edx
40864a:	8b 45 1c             	mov    0x1c(%ebp),%eax
40864d:	50                   	push   %eax
40864e:	8b 4d 18             	mov    0x18(%ebp),%ecx
408651:	51                   	push   %ecx
408652:	8b 55 f8             	mov    -0x8(%ebp),%edx
408655:	52                   	push   %edx
408656:	8b 45 e0             	mov    -0x20(%ebp),%eax
408659:	50                   	push   %eax
40865a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40865d:	51                   	push   %ecx
40865e:	8b 55 08             	mov    0x8(%ebp),%edx
408661:	52                   	push   %edx
408662:	e8 79 fd ff ff       	call   0x4083e0
408667:	83 c4 1c             	add    $0x1c,%esp
40866a:	85 c0                	test   %eax,%eax
40866c:	0f 84 9e 00 00 00    	je     0x408710
408672:	8d 45 f0             	lea    -0x10(%ebp),%eax
408675:	50                   	push   %eax
408676:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
408679:	51                   	push   %ecx
40867a:	8b 55 18             	mov    0x18(%ebp),%edx
40867d:	52                   	push   %edx
40867e:	8b 45 f8             	mov    -0x8(%ebp),%eax
408681:	50                   	push   %eax
408682:	8b 4d d8             	mov    -0x28(%ebp),%ecx
408685:	51                   	push   %ecx
408686:	8b 55 d4             	mov    -0x2c(%ebp),%edx
408689:	52                   	push   %edx
40868a:	8b 45 08             	mov    0x8(%ebp),%eax
40868d:	50                   	push   %eax
40868e:	e8 4d fd ff ff       	call   0x4083e0
408693:	83 c4 1c             	add    $0x1c,%esp
408696:	85 c0                	test   %eax,%eax
408698:	74 6a                	je     0x408704
40869a:	6a 60                	push   $0x60
40869c:	e8 df e1 ff ff       	call   0x406880
4086a1:	83 c4 04             	add    $0x4,%esp
4086a4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4086a7:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4086ab:	74 4b                	je     0x4086f8
4086ad:	6a 20                	push   $0x20
4086af:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4086b2:	51                   	push   %ecx
4086b3:	8b 55 fc             	mov    -0x4(%ebp),%edx
4086b6:	52                   	push   %edx
4086b7:	e8 e4 e2 ff ff       	call   0x4069a0
4086bc:	83 c4 0c             	add    $0xc,%esp
4086bf:	6a 20                	push   $0x20
4086c1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4086c4:	50                   	push   %eax
4086c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4086c8:	83 c1 20             	add    $0x20,%ecx
4086cb:	51                   	push   %ecx
4086cc:	e8 cf e2 ff ff       	call   0x4069a0
4086d1:	83 c4 0c             	add    $0xc,%esp
4086d4:	6a 20                	push   $0x20
4086d6:	8b 55 f0             	mov    -0x10(%ebp),%edx
4086d9:	52                   	push   %edx
4086da:	8b 45 fc             	mov    -0x4(%ebp),%eax
4086dd:	83 c0 40             	add    $0x40,%eax
4086e0:	50                   	push   %eax
4086e1:	e8 ba e2 ff ff       	call   0x4069a0
4086e6:	83 c4 0c             	add    $0xc,%esp
4086e9:	8b 4d 20             	mov    0x20(%ebp),%ecx
4086ec:	8b 55 fc             	mov    -0x4(%ebp),%edx
4086ef:	89 11                	mov    %edx,(%ecx)
4086f1:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4086f8:	8b 45 f0             	mov    -0x10(%ebp),%eax
4086fb:	50                   	push   %eax
4086fc:	e8 af e1 ff ff       	call   0x4068b0
408701:	83 c4 04             	add    $0x4,%esp
408704:	8b 4d ec             	mov    -0x14(%ebp),%ecx
408707:	51                   	push   %ecx
408708:	e8 a3 e1 ff ff       	call   0x4068b0
40870d:	83 c4 04             	add    $0x4,%esp
408710:	8b 55 e8             	mov    -0x18(%ebp),%edx
408713:	52                   	push   %edx
408714:	e8 97 e1 ff ff       	call   0x4068b0
408719:	83 c4 04             	add    $0x4,%esp
40871c:	8b 45 f8             	mov    -0x8(%ebp),%eax
40871f:	50                   	push   %eax
408720:	e8 8b e1 ff ff       	call   0x4068b0
408725:	83 c4 04             	add    $0x4,%esp
408728:	8b 45 f4             	mov    -0xc(%ebp),%eax
40872b:	5f                   	pop    %edi
40872c:	5e                   	pop    %esi
40872d:	8b e5                	mov    %ebp,%esp
40872f:	5d                   	pop    %ebp
408730:	c3                   	ret
408731:	cc                   	int3
408732:	cc                   	int3
408733:	cc                   	int3
408734:	cc                   	int3
408735:	cc                   	int3
408736:	cc                   	int3
408737:	cc                   	int3
408738:	cc                   	int3
408739:	cc                   	int3
40873a:	cc                   	int3
40873b:	cc                   	int3
40873c:	cc                   	int3
40873d:	cc                   	int3
40873e:	cc                   	int3
40873f:	cc                   	int3
408740:	55                   	push   %ebp
408741:	8b ec                	mov    %esp,%ebp
408743:	83 ec 10             	sub    $0x10,%esp
408746:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40874d:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
408751:	74 12                	je     0x408765
408753:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
408757:	74 0c                	je     0x408765
408759:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
40875d:	74 06                	je     0x408765
40875f:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
408763:	75 05                	jne    0x40876a
408765:	8b 45 f8             	mov    -0x8(%ebp),%eax
408768:	eb 69                	jmp    0x4087d3
40876a:	e8 91 cc ff ff       	call   0x405400
40876f:	8b 40 10             	mov    0x10(%eax),%eax
408772:	89 45 f0             	mov    %eax,-0x10(%ebp)
408775:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408778:	51                   	push   %ecx
408779:	e8 02 e1 ff ff       	call   0x406880
40877e:	83 c4 04             	add    $0x4,%esp
408781:	89 45 fc             	mov    %eax,-0x4(%ebp)
408784:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
408788:	74 46                	je     0x4087d0
40878a:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
408791:	8d 55 f4             	lea    -0xc(%ebp),%edx
408794:	52                   	push   %edx
408795:	8b 45 18             	mov    0x18(%ebp),%eax
408798:	50                   	push   %eax
408799:	8b 4d 14             	mov    0x14(%ebp),%ecx
40879c:	51                   	push   %ecx
40879d:	8b 55 fc             	mov    -0x4(%ebp),%edx
4087a0:	52                   	push   %edx
4087a1:	6a 00                	push   $0x0
4087a3:	6a 00                	push   $0x0
4087a5:	8b 45 08             	mov    0x8(%ebp),%eax
4087a8:	50                   	push   %eax
4087a9:	e8 32 fc ff ff       	call   0x4083e0
4087ae:	83 c4 1c             	add    $0x1c,%esp
4087b1:	85 c0                	test   %eax,%eax
4087b3:	74 0f                	je     0x4087c4
4087b5:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
4087b8:	8b 55 f4             	mov    -0xc(%ebp),%edx
4087bb:	89 11                	mov    %edx,(%ecx)
4087bd:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4087c4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4087c7:	50                   	push   %eax
4087c8:	e8 e3 e0 ff ff       	call   0x4068b0
4087cd:	83 c4 04             	add    $0x4,%esp
4087d0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4087d3:	8b e5                	mov    %ebp,%esp
4087d5:	5d                   	pop    %ebp
4087d6:	c3                   	ret
4087d7:	cc                   	int3
4087d8:	cc                   	int3
4087d9:	cc                   	int3
4087da:	cc                   	int3
4087db:	cc                   	int3
4087dc:	cc                   	int3
4087dd:	cc                   	int3
4087de:	cc                   	int3
4087df:	cc                   	int3
4087e0:	55                   	push   %ebp
4087e1:	8b ec                	mov    %esp,%ebp
4087e3:	83 ec 50             	sub    $0x50,%esp
4087e6:	56                   	push   %esi
4087e7:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4087ee:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
4087f2:	74 12                	je     0x408806
4087f4:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4087f8:	74 0c                	je     0x408806
4087fa:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4087fe:	74 06                	je     0x408806
408800:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
408804:	75 08                	jne    0x40880e
408806:	8b 45 e4             	mov    -0x1c(%ebp),%eax
408809:	e9 8d 02 00 00       	jmp    0x408a9b
40880e:	6a 40                	push   $0x40
408810:	e8 6b e0 ff ff       	call   0x406880
408815:	83 c4 04             	add    $0x4,%esp
408818:	89 45 f0             	mov    %eax,-0x10(%ebp)
40881b:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
40881f:	0f 84 73 02 00 00    	je     0x408a98
408825:	68 00 01 00 00       	push   $0x100
40882a:	8b 45 14             	mov    0x14(%ebp),%eax
40882d:	50                   	push   %eax
40882e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408831:	51                   	push   %ecx
408832:	e8 09 12 00 00       	call   0x409a40
408837:	83 c4 0c             	add    $0xc,%esp
40883a:	8b 55 18             	mov    0x18(%ebp),%edx
40883d:	52                   	push   %edx
40883e:	8b 45 f0             	mov    -0x10(%ebp),%eax
408841:	50                   	push   %eax