40156d:	ff b6 9c 00 00 00    	push   0x9c(%esi)
401573:	ff 15 0c 11 43 00    	call   *0x43110c
401579:	c7 86 84 00 00 00 01 	movl   $0x1,0x84(%esi)
401580:	00 00 00
401583:	5e                   	pop    %esi
401584:	c3                   	ret
401585:	8d 86 8c 00 00 00    	lea    0x8c(%esi),%eax
40158b:	50                   	push   %eax
40158c:	ff 76 3c             	push   0x3c(%esi)
40158f:	ff 15 24 11 43 00    	call   *0x431124
401595:	85 c0                	test   %eax,%eax
401597:	75 d4                	jne    0x40156d
401599:	ff 15 08 11 43 00    	call   *0x431108
40159f:	3d 17 02 00 00       	cmp    $0x217,%eax
4015a4:	74 13                	je     0x4015b9
4015a6:	3d e5 03 00 00       	cmp    $0x3e5,%eax
4015ab:	75 c0                	jne    0x40156d
4015ad:	c7 86 84 00 00 00 03 	movl   $0x3,0x84(%esi)
4015b4:	00 00 00
4015b7:	5e                   	pop    %esi
4015b8:	c3                   	ret
4015b9:	6a 04                	push   $0x4
4015bb:	8b ce                	mov    %esi,%ecx
4015bd:	e8 8f 02 00 00       	call   0x401851
4015c2:	5e                   	pop    %esi
4015c3:	c3                   	ret
4015c4:	55                   	push   %ebp
4015c5:	8b ec                	mov    %esp,%ebp
4015c7:	51                   	push   %ecx
4015c8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4015cc:	56                   	push   %esi
4015cd:	57                   	push   %edi
4015ce:	8b f9                	mov    %ecx,%edi
4015d0:	6a 34                	push   $0x34
4015d2:	6a 00                	push   $0x0
4015d4:	8d b7 a0 00 00 00    	lea    0xa0(%edi),%esi
4015da:	56                   	push   %esi
4015db:	e8 e0 9d 00 00       	call   0x40b3c0
4015e0:	83 c4 0c             	add    $0xc,%esp
4015e3:	8d 87 8c 00 00 00    	lea    0x8c(%edi),%eax
4015e9:	50                   	push   %eax
4015ea:	8d 45 fc             	lea    -0x4(%ebp),%eax
4015ed:	50                   	push   %eax
4015ee:	6a 34                	push   $0x34
4015f0:	56                   	push   %esi
4015f1:	ff 77 3c             	push   0x3c(%edi)
4015f4:	ff 15 d8 10 43 00    	call   *0x4310d8
4015fa:	85 c0                	test   %eax,%eax
4015fc:	75 18                	jne    0x401616
4015fe:	ff 15 08 11 43 00    	call   *0x431108
401604:	3d e5 03 00 00       	cmp    $0x3e5,%eax
401609:	74 0b                	je     0x401616
40160b:	6a 0a                	push   $0xa
40160d:	8b cf                	mov    %edi,%ecx
40160f:	e8 3d 02 00 00       	call   0x401851
401614:	eb 0a                	jmp    0x401620
401616:	c7 87 84 00 00 00 05 	movl   $0x5,0x84(%edi)
40161d:	00 00 00
401620:	5f                   	pop    %edi
401621:	5e                   	pop    %esi
401622:	c9                   	leave
401623:	c3                   	ret
401624:	55                   	push   %ebp
401625:	8b ec                	mov    %esp,%ebp
401627:	51                   	push   %ecx
401628:	53                   	push   %ebx
401629:	56                   	push   %esi
40162a:	8b f1                	mov    %ecx,%esi
40162c:	8b 86 a0 00 00 00    	mov    0xa0(%esi),%eax
401632:	83 f8 04             	cmp    $0x4,%eax
401635:	0f 84 ca 00 00 00    	je     0x401705
40163b:	83 f8 01             	cmp    $0x1,%eax
40163e:	0f 85 d5 00 00 00    	jne    0x401719
401644:	33 db                	xor    %ebx,%ebx
401646:	39 9e a4 00 00 00    	cmp    %ebx,0xa4(%esi)
40164c:	0f 84 c7 00 00 00    	je     0x401719
401652:	39 9e ac 00 00 00    	cmp    %ebx,0xac(%esi)
401658:	0f 84 bb 00 00 00    	je     0x401719
40165e:	39 9e b0 00 00 00    	cmp    %ebx,0xb0(%esi)
401664:	0f 84 af 00 00 00    	je     0x401719
40166a:	39 9e bc 00 00 00    	cmp    %ebx,0xbc(%esi)
401670:	0f 84 a3 00 00 00    	je     0x401719
401676:	57                   	push   %edi
401677:	6a 4c                	push   $0x4c
401679:	e8 42 53 00 00       	call   0x4069c0
40167e:	59                   	pop    %ecx
40167f:	85 c0                	test   %eax,%eax
401681:	74 3d                	je     0x4016c0
401683:	8d 8e c0 00 00 00    	lea    0xc0(%esi),%ecx
401689:	51                   	push   %ecx
40168a:	ff b6 b8 00 00 00    	push   0xb8(%esi)
401690:	8b c8                	mov    %eax,%ecx
401692:	ff b6 b4 00 00 00    	push   0xb4(%esi)
401698:	ff b6 bc 00 00 00    	push   0xbc(%esi)
40169e:	ff b6 b0 00 00 00    	push   0xb0(%esi)
4016a4:	ff b6 ac 00 00 00    	push   0xac(%esi)
4016aa:	ff b6 a8 00 00 00    	push   0xa8(%esi)
4016b0:	ff b6 a4 00 00 00    	push   0xa4(%esi)
4016b6:	56                   	push   %esi
4016b7:	e8 76 0d 00 00       	call   0x402432
4016bc:	8b f8                	mov    %eax,%edi
4016be:	eb 02                	jmp    0x4016c2
4016c0:	8b fb                	mov    %ebx,%edi
4016c2:	8b cf                	mov    %edi,%ecx
4016c4:	89 7d fc             	mov    %edi,-0x4(%ebp)
4016c7:	e8 d1 0d 00 00       	call   0x40249d
4016cc:	84 c0                	test   %al,%al
4016ce:	74 21                	je     0x4016f1
4016d0:	57                   	push   %edi
4016d1:	8b ce                	mov    %esi,%ecx
4016d3:	e8 1f 02 00 00       	call   0x4018f7
4016d8:	84 c0                	test   %al,%al
4016da:	74 15                	je     0x4016f1
4016dc:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4016df:	89 be d4 00 00 00    	mov    %edi,0xd4(%esi)
4016e5:	c7 86 84 00 00 00 07 	movl   $0x7,0x84(%esi)
4016ec:	00 00 00
4016ef:	eb 09                	jmp    0x4016fa
4016f1:	6a 0a                	push   $0xa
4016f3:	8b ce                	mov    %esi,%ecx
4016f5:	e8 57 01 00 00       	call   0x401851
4016fa:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4016fd:	e8 c8 07 00 00       	call   0x401eca
401702:	5f                   	pop    %edi
401703:	eb 1d                	jmp    0x401722
401705:	8b 46 60             	mov    0x60(%esi),%eax
401708:	85 c0                	test   %eax,%eax
40170a:	74 0d                	je     0x401719
40170c:	ff b6 a4 00 00 00    	push   0xa4(%esi)
401712:	ff 76 64             	push   0x64(%esi)
401715:	ff d0                	call   *%eax
401717:	59                   	pop    %ecx
401718:	59                   	pop    %ecx
401719:	6a 0a                	push   $0xa
40171b:	8b ce                	mov    %esi,%ecx
40171d:	e8 2f 01 00 00       	call   0x401851
401722:	5e                   	pop    %esi
401723:	5b                   	pop    %ebx
401724:	c9                   	leave
401725:	c3                   	ret
401726:	55                   	push   %ebp
401727:	8b ec                	mov    %esp,%ebp
401729:	51                   	push   %ecx
40172a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40172e:	56                   	push   %esi
40172f:	8b f1                	mov    %ecx,%esi
401731:	8d 86 8c 00 00 00    	lea    0x8c(%esi),%eax
401737:	50                   	push   %eax
401738:	8d 45 fc             	lea    -0x4(%ebp),%eax
40173b:	50                   	push   %eax
40173c:	6a 34                	push   $0x34
40173e:	8d 86 a0 00 00 00    	lea    0xa0(%esi),%eax
401744:	50                   	push   %eax
401745:	ff 76 3c             	push   0x3c(%esi)
401748:	ff 15 d8 10 43 00    	call   *0x4310d8
40174e:	85 c0                	test   %eax,%eax
401750:	75 1d                	jne    0x40176f
401752:	ff 15 08 11 43 00    	call   *0x431108
401758:	3d e5 03 00 00       	cmp    $0x3e5,%eax
40175d:	75 0c                	jne    0x40176b
40175f:	c7 86 84 00 00 00 09 	movl   $0x9,0x84(%esi)
401766:	00 00 00
401769:	eb 0d                	jmp    0x401778
40176b:	6a 0a                	push   $0xa
40176d:	eb 02                	jmp    0x401771
40176f:	6a 09                	push   $0x9
401771:	8b ce                	mov    %esi,%ecx
401773:	e8 d9 00 00 00       	call   0x401851
401778:	5e                   	pop    %esi
401779:	c9                   	leave
40177a:	c3                   	ret
40177b:	55                   	push   %ebp
40177c:	8b ec                	mov    %esp,%ebp
40177e:	51                   	push   %ecx
40177f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401783:	8d 45 fc             	lea    -0x4(%ebp),%eax
401786:	56                   	push   %esi
401787:	8b f1                	mov    %ecx,%esi
401789:	6a 00                	push   $0x0
40178b:	50                   	push   %eax
40178c:	8d 86 8c 00 00 00    	lea    0x8c(%esi),%eax
401792:	50                   	push   %eax
401793:	ff 76 3c             	push   0x3c(%esi)
401796:	ff 15 14 11 43 00    	call   *0x431114
40179c:	85 c0                	test   %eax,%eax
40179e:	74 39                	je     0x4017d9
4017a0:	83 7e 48 00          	cmpl   $0x0,0x48(%esi)
4017a4:	74 33                	je     0x4017d9
4017a6:	56                   	push   %esi
4017a7:	ff 15 14 10 43 00    	call   *0x431014
4017ad:	8b 4e 18             	mov    0x18(%esi),%ecx
4017b0:	8b 01                	mov    (%ecx),%eax
4017b2:	3b c1                	cmp    %ecx,%eax
4017b4:	74 1c                	je     0x4017d2
4017b6:	8b 96 d4 00 00 00    	mov    0xd4(%esi),%edx
4017bc:	3b 50 08             	cmp    0x8(%eax),%edx
4017bf:	74 08                	je     0x4017c9
4017c1:	8b 00                	mov    (%eax),%eax
4017c3:	3b c1                	cmp    %ecx,%eax
4017c5:	75 f5                	jne    0x4017bc
4017c7:	eb 09                	jmp    0x4017d2
4017c9:	52                   	push   %edx
4017ca:	ff 76 4c             	push   0x4c(%esi)
4017cd:	ff 56 48             	call   *0x48(%esi)
4017d0:	59                   	pop    %ecx
4017d1:	59                   	pop    %ecx
4017d2:	56                   	push   %esi
4017d3:	ff 15 18 10 43 00    	call   *0x431018
4017d9:	6a 0a                	push   $0xa
4017db:	8b ce                	mov    %esi,%ecx
4017dd:	e8 6f 00 00 00       	call   0x401851
4017e2:	5e                   	pop    %esi
4017e3:	c9                   	leave
4017e4:	c3                   	ret
4017e5:	56                   	push   %esi
4017e6:	8b f1                	mov    %ecx,%esi
4017e8:	33 c0                	xor    %eax,%eax
4017ea:	ff b6 9c 00 00 00    	push   0x9c(%esi)
4017f0:	89 86 d4 00 00 00    	mov    %eax,0xd4(%esi)
4017f6:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
4017fc:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
401802:	89 86 98 00 00 00    	mov    %eax,0x98(%esi)
401808:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
40180e:	ff 15 10 11 43 00    	call   *0x431110
401814:	85 c0                	test   %eax,%eax
401816:	75 18                	jne    0x401830
401818:	ff b6 9c 00 00 00    	push   0x9c(%esi)
40181e:	ff 15 0c 11 43 00    	call   *0x43110c
401824:	c7 86 84 00 00 00 01 	movl   $0x1,0x84(%esi)
40182b:	00 00 00
40182e:	5e                   	pop    %esi
40182f:	c3                   	ret
401830:	ff 76 3c             	push   0x3c(%esi)
401833:	ff 15 00 11 43 00    	call   *0x431100
401839:	85 c0                	test   %eax,%eax
40183b:	74 db                	je     0x401818
40183d:	80 be 88 00 00 00 00 	cmpb   $0x0,0x88(%esi)
401844:	75 09                	jne    0x40184f
401846:	6a 02                	push   $0x2
401848:	8b ce                	mov    %esi,%ecx
40184a:	e8 02 00 00 00       	call   0x401851
40184f:	5e                   	pop    %esi
401850:	c3                   	ret
401851:	8b 44 24 04          	mov    0x4(%esp),%eax
401855:	56                   	push   %esi
401856:	8b f1                	mov    %ecx,%esi
401858:	ff b6 9c 00 00 00    	push   0x9c(%esi)
40185e:	89 86 84 00 00 00    	mov    %eax,0x84(%esi)
401864:	ff 15 0c 11 43 00    	call   *0x43110c
40186a:	85 c0                	test   %eax,%eax
40186c:	75 0a                	jne    0x401878
40186e:	c7 86 84 00 00 00 01 	movl   $0x1,0x84(%esi)
401875:	00 00 00
401878:	5e                   	pop    %esi
401879:	c2 04 00             	ret    $0x4
40187c:	51                   	push   %ecx
40187d:	53                   	push   %ebx
40187e:	55                   	push   %ebp
40187f:	56                   	push   %esi
401880:	57                   	push   %edi
401881:	89 4c 24 10          	mov    %ecx,0x10(%esp)
401885:	ff 15 dc 10 43 00    	call   *0x4310dc
40188b:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
40188f:	8b f8                	mov    %eax,%edi
401891:	8b 74 24 18          	mov    0x18(%esp),%esi
401895:	8b 2d fc 10 43 00    	mov    0x4310fc,%ebp
40189b:	6a 00                	push   $0x0
40189d:	6a 00                	push   $0x0
40189f:	6a 02                	push   $0x2
4018a1:	8d 4b 28             	lea    0x28(%ebx),%ecx
4018a4:	51                   	push   %ecx
4018a5:	ff 76 2c             	push   0x2c(%esi)
4018a8:	ff 76 30             	push   0x30(%esi)
4018ab:	57                   	push   %edi
4018ac:	ff d5                	call   *%ebp
4018ae:	85 c0                	test   %eax,%eax
4018b0:	74 3b                	je     0x4018ed
4018b2:	6a 00                	push   $0x0
4018b4:	6a 00                	push   $0x0
4018b6:	68 02 00 10 00       	push   $0x100002
4018bb:	8d 43 2c             	lea    0x2c(%ebx),%eax
4018be:	50                   	push   %eax
4018bf:	ff 76 2c             	push   0x2c(%esi)
4018c2:	ff 76 34             	push   0x34(%esi)
4018c5:	57                   	push   %edi
4018c6:	ff d5                	call   *%ebp
4018c8:	85 c0                	test   %eax,%eax
4018ca:	74 21                	je     0x4018ed
4018cc:	6a 00                	push   $0x0
4018ce:	6a 00                	push   $0x0
4018d0:	68 00 00 10 00       	push   $0x100000
4018d5:	8d 43 30             	lea    0x30(%ebx),%eax
4018d8:	50                   	push   %eax
4018d9:	8b 44 24 20          	mov    0x20(%esp),%eax
4018dd:	ff 76 2c             	push   0x2c(%esi)
4018e0:	ff 70 44             	push   0x44(%eax)
4018e3:	57                   	push   %edi
4018e4:	ff d5                	call   *%ebp
4018e6:	85 c0                	test   %eax,%eax
4018e8:	0f 95 c0             	setne  %al
4018eb:	eb 02                	jmp    0x4018ef
4018ed:	32 c0                	xor    %al,%al
4018ef:	5f                   	pop    %edi
4018f0:	5e                   	pop    %esi
4018f1:	5d                   	pop    %ebp
4018f2:	5b                   	pop    %ebx
4018f3:	59                   	pop    %ecx
4018f4:	c2 08 00             	ret    $0x8
4018f7:	55                   	push   %ebp
4018f8:	8b ec                	mov    %esp,%ebp
4018fa:	83 ec 34             	sub    $0x34,%esp
4018fd:	53                   	push   %ebx
4018fe:	33 db                	xor    %ebx,%ebx
401900:	c7 45 cc 02 00 00 00 	movl   $0x2,-0x34(%ebp)
401907:	56                   	push   %esi
401908:	57                   	push   %edi
401909:	8b 7d 08             	mov    0x8(%ebp),%edi
40190c:	8b f1                	mov    %ecx,%esi
40190e:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
401911:	89 5d d8             	mov    %ebx,-0x28(%ebp)
401914:	89 5d dc             	mov    %ebx,-0x24(%ebp)
401917:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40191a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40191d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
401920:	89 5d ec             	mov    %ebx,-0x14(%ebp)
401923:	89 5d f0             	mov    %ebx,-0x10(%ebp)
401926:	89 5d f4             	mov    %ebx,-0xc(%ebp)
401929:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40192c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40192f:	ff 15 20 11 43 00    	call   *0x431120
401935:	89 45 d0             	mov    %eax,-0x30(%ebp)
401938:	8b ce                	mov    %esi,%ecx
40193a:	8d 45 cc             	lea    -0x34(%ebp),%eax
40193d:	50                   	push   %eax
40193e:	57                   	push   %edi
40193f:	e8 38 ff ff ff       	call   0x40187c
401944:	84 c0                	test   %al,%al
401946:	75 47                	jne    0x40198f
401948:	8d 77 2c             	lea    0x2c(%edi),%esi
40194b:	8b 3d fc 10 43 00    	mov    0x4310fc,%edi
401951:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
401954:	74 10                	je     0x401966
401956:	6a 01                	push   $0x1
401958:	53                   	push   %ebx
401959:	53                   	push   %ebx
40195a:	53                   	push   %ebx
40195b:	53                   	push   %ebx
40195c:	ff 75 f4             	push   -0xc(%ebp)
40195f:	ff 36                	push   (%esi)
401961:	ff d7                	call   *%edi