404605:	50                   	push   %eax
404606:	e8 ba 4d 01 00       	call   0x4193c5
40460b:	83 c4 0c             	add    $0xc,%esp
40460e:	8d 4c 24 30          	lea    0x30(%esp),%ecx
404612:	8b d8                	mov    %eax,%ebx
404614:	53                   	push   %ebx
404615:	e8 d3 07 00 00       	call   0x404ded
40461a:	33 c0                	xor    %eax,%eax
40461c:	50                   	push   %eax
40461d:	89 44 24 20          	mov    %eax,0x20(%esp)
404621:	50                   	push   %eax
404622:	eb 6a                	jmp    0x40468e
404624:	8b 7c 24 18          	mov    0x18(%esp),%edi
404628:	85 ff                	test   %edi,%edi
40462a:	0f 84 b9 00 00 00    	je     0x4046e9
404630:	33 d2                	xor    %edx,%edx
404632:	51                   	push   %ecx
404633:	42                   	inc    %edx
404634:	8b cf                	mov    %edi,%ecx
404636:	e8 4b cb ff ff       	call   0x401186
40463b:	59                   	pop    %ecx
40463c:	57                   	push   %edi
40463d:	8b f0                	mov    %eax,%esi
40463f:	6a 00                	push   $0x0
404641:	56                   	push   %esi
404642:	e8 79 6d 00 00       	call   0x40b3c0
404647:	83 c4 0c             	add    $0xc,%esp
40464a:	8d 44 24 24          	lea    0x24(%esp),%eax
40464e:	50                   	push   %eax
40464f:	ff 74 24 1c          	push   0x1c(%esp)
404653:	56                   	push   %esi
404654:	55                   	push   %ebp
404655:	ff 15 d8 11 43 00    	call   *0x4311d8
40465b:	89 44 24 28          	mov    %eax,0x28(%esp)
40465f:	85 c0                	test   %eax,%eax
404661:	74 6e                	je     0x4046d1
404663:	8b 4c 24 24          	mov    0x24(%esp),%ecx
404667:	85 c9                	test   %ecx,%ecx
404669:	74 66                	je     0x4046d1
40466b:	01 4c 24 1c          	add    %ecx,0x1c(%esp)
40466f:	51                   	push   %ecx
404670:	56                   	push   %esi
404671:	8d 4c 24 38          	lea    0x38(%esp),%ecx
404675:	e8 a7 07 00 00       	call   0x404e21
40467a:	85 f6                	test   %esi,%esi
40467c:	74 0c                	je     0x40468a
40467e:	6a 01                	push   $0x1
404680:	8b d7                	mov    %edi,%edx
404682:	8b ce                	mov    %esi,%ecx
404684:	e8 55 cb ff ff       	call   0x4011de
404689:	59                   	pop    %ecx
40468a:	6a 00                	push   $0x0
40468c:	6a 00                	push   $0x0
40468e:	8d 44 24 20          	lea    0x20(%esp),%eax
404692:	50                   	push   %eax
404693:	55                   	push   %ebp
404694:	ff 15 c0 11 43 00    	call   *0x4311c0
40469a:	85 c0                	test   %eax,%eax
40469c:	75 86                	jne    0x404624
40469e:	32 db                	xor    %bl,%bl
4046a0:	8b 54 24 44          	mov    0x44(%esp),%edx
4046a4:	83 fa 10             	cmp    $0x10,%edx
4046a7:	72 0d                	jb     0x4046b6
4046a9:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4046ad:	42                   	inc    %edx
4046ae:	6a 01                	push   $0x1
4046b0:	e8 29 cb ff ff       	call   0x4011de
4046b5:	59                   	pop    %ecx
4046b6:	8b 8c 24 a4 00 00 00 	mov    0xa4(%esp),%ecx
4046bd:	8a c3                	mov    %bl,%al
4046bf:	5f                   	pop    %edi
4046c0:	5e                   	pop    %esi
4046c1:	5d                   	pop    %ebp
4046c2:	5b                   	pop    %ebx
4046c3:	33 cc                	xor    %esp,%ecx
4046c5:	e8 dd 55 00 00       	call   0x409ca7
4046ca:	81 c4 9c 00 00 00    	add    $0x9c,%esp
4046d0:	c3                   	ret
4046d1:	85 f6                	test   %esi,%esi
4046d3:	74 10                	je     0x4046e5
4046d5:	6a 01                	push   $0x1
4046d7:	8b d7                	mov    %edi,%edx
4046d9:	8b ce                	mov    %esi,%ecx
4046db:	e8 fe ca ff ff       	call   0x4011de
4046e0:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4046e4:	59                   	pop    %ecx
4046e5:	85 c0                	test   %eax,%eax
4046e7:	74 b5                	je     0x40469e
4046e9:	80 7c 24 17 00       	cmpb   $0x0,0x17(%esp)
4046ee:	74 06                	je     0x4046f6
4046f0:	39 5c 24 1c          	cmp    %ebx,0x1c(%esp)
4046f4:	75 a8                	jne    0x40469e
4046f6:	8b 74 24 2c          	mov    0x2c(%esp),%esi
4046fa:	b3 01                	mov    $0x1,%bl
4046fc:	85 f6                	test   %esi,%esi
4046fe:	74 a0                	je     0x4046a0
404700:	8d 54 24 30          	lea    0x30(%esp),%edx
404704:	8d 4c 24 48          	lea    0x48(%esp),%ecx
404708:	e8 11 05 00 00       	call   0x404c1e
40470d:	50                   	push   %eax
40470e:	8b ce                	mov    %esi,%ecx
404710:	e8 90 ec ff ff       	call   0x4033a5
404715:	6a 00                	push   $0x0
404717:	6a 01                	push   $0x1
404719:	8d 4c 24 50          	lea    0x50(%esp),%ecx
40471d:	e8 a3 d9 ff ff       	call   0x4020c5
404722:	e9 79 ff ff ff       	jmp    0x4046a0
404727:	81 ec f0 00 00 00    	sub    $0xf0,%esp
40472d:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
404732:	33 c4                	xor    %esp,%eax
404734:	89 84 24 ec 00 00 00 	mov    %eax,0xec(%esp)
40473b:	8b 84 24 f4 00 00 00 	mov    0xf4(%esp),%eax
404742:	53                   	push   %ebx
404743:	55                   	push   %ebp
404744:	8b da                	mov    %edx,%ebx
404746:	89 44 24 18          	mov    %eax,0x18(%esp)
40474a:	33 c0                	xor    %eax,%eax
40474c:	8d 54 24 0c          	lea    0xc(%esp),%edx
404750:	56                   	push   %esi
404751:	8b b4 24 04 01 00 00 	mov    0x104(%esp),%esi
404758:	8b e9                	mov    %ecx,%ebp
40475a:	57                   	push   %edi
40475b:	8b bc 24 0c 01 00 00 	mov    0x10c(%esp),%edi
404762:	8b cb                	mov    %ebx,%ecx
404764:	89 44 24 14          	mov    %eax,0x14(%esp)
404768:	89 44 24 18          	mov    %eax,0x18(%esp)
40476c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
404770:	e8 cc 03 00 00       	call   0x404b41
404775:	84 c0                	test   %al,%al
404777:	75 07                	jne    0x404780
404779:	32 db                	xor    %bl,%bl
40477b:	e9 9d 03 00 00       	jmp    0x404b1d
404780:	51                   	push   %ecx
404781:	8b d6                	mov    %esi,%edx
404783:	8d 8c 24 a0 00 00 00 	lea    0xa0(%esp),%ecx
40478a:	e8 51 05 00 00       	call   0x404ce0
40478f:	83 bc 24 b0 00 00 00 	cmpl   $0x0,0xb0(%esp)
404796:	00
404797:	59                   	pop    %ecx
404798:	75 07                	jne    0x4047a1
40479a:	32 db                	xor    %bl,%bl
40479c:	e9 6c 03 00 00       	jmp    0x404b0d
4047a1:	83 67 10 00          	andl   $0x0,0x10(%edi)
4047a5:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
4047a9:	72 04                	jb     0x4047af
4047ab:	8b 07                	mov    (%edi),%eax
4047ad:	eb 02                	jmp    0x4047b1
4047af:	8b c7                	mov    %edi,%eax
4047b1:	c6 00 00             	movb   $0x0,(%eax)
4047b4:	8b 45 00             	mov    0x0(%ebp),%eax
4047b7:	8b 30                	mov    (%eax),%esi
4047b9:	89 74 24 10          	mov    %esi,0x10(%esp)
4047bd:	3b f0                	cmp    %eax,%esi
4047bf:	0f 84 73 01 00 00    	je     0x404938
4047c5:	8d 84 24 9c 00 00 00 	lea    0x9c(%esp),%eax
4047cc:	ba 28 96 43 00       	mov    $0x439628,%edx
4047d1:	68 24 96 43 00       	push   $0x439624
4047d6:	50                   	push   %eax
4047d7:	8d 8c 24 8c 00 00 00 	lea    0x8c(%esp),%ecx
4047de:	e8 aa 1e 00 00       	call   0x40668d
4047e3:	59                   	pop    %ecx
4047e4:	8b d0                	mov    %eax,%edx
4047e6:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4047ea:	e8 eb 1e 00 00       	call   0x4066da
4047ef:	59                   	pop    %ecx
4047f0:	6a ff                	push   $0xffffffff
4047f2:	6a 00                	push   $0x0
4047f4:	50                   	push   %eax
4047f5:	8b cf                	mov    %edi,%ecx
4047f7:	e8 13 18 00 00       	call   0x40600f
4047fc:	6a 00                	push   $0x0
4047fe:	6a 01                	push   $0x1
404800:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
404804:	e8 f6 15 00 00       	call   0x405dff
404809:	6a 00                	push   $0x0
40480b:	6a 01                	push   $0x1
40480d:	8d 8c 24 8c 00 00 00 	lea    0x8c(%esp),%ecx
404814:	e8 e6 15 00 00       	call   0x405dff
404819:	51                   	push   %ecx
40481a:	8d 56 28             	lea    0x28(%esi),%edx
40481d:	8d 4c 24 70          	lea    0x70(%esp),%ecx
404821:	e8 ba 04 00 00       	call   0x404ce0
404826:	8d 56 10             	lea    0x10(%esi),%edx
404829:	8d 4c 24 28          	lea    0x28(%esp),%ecx
40482d:	e8 ae 04 00 00       	call   0x404ce0
404832:	59                   	pop    %ecx
404833:	6a 26                	push   $0x26
404835:	51                   	push   %ecx
404836:	51                   	push   %ecx
404837:	8d 4c 24 30          	lea    0x30(%esp),%ecx
40483b:	e8 ad 1f 00 00       	call   0x4067ed
404840:	50                   	push   %eax
404841:	8d 8c 24 88 00 00 00 	lea    0x88(%esp),%ecx
404848:	e8 63 06 00 00       	call   0x404eb0
40484d:	68 2c 96 43 00       	push   $0x43962c
404852:	8d 94 24 88 00 00 00 	lea    0x88(%esp),%edx
404859:	8d 4c 24 58          	lea    0x58(%esp),%ecx
40485d:	e8 78 1e 00 00       	call   0x4066da
404862:	8b d0                	mov    %eax,%edx
404864:	59                   	pop    %ecx
404865:	8b 4a 14             	mov    0x14(%edx),%ecx
404868:	2b 4a 10             	sub    0x10(%edx),%ecx
40486b:	39 4c 24 7c          	cmp    %ecx,0x7c(%esp)
40486f:	76 21                	jbe    0x404892
404871:	8b 84 24 80 00 00 00 	mov    0x80(%esp),%eax
404878:	2b 44 24 7c          	sub    0x7c(%esp),%eax
40487c:	3b 42 10             	cmp    0x10(%edx),%eax
40487f:	72 11                	jb     0x404892
404881:	6a ff                	push   $0xffffffff
404883:	6a 00                	push   $0x0
404885:	52                   	push   %edx
404886:	51                   	push   %ecx
404887:	8d 4c 24 7c          	lea    0x7c(%esp),%ecx
40488b:	e8 0e 20 00 00       	call   0x40689e
404890:	eb 10                	jmp    0x4048a2
404892:	6a ff                	push   $0xffffffff
404894:	6a 00                	push   $0x0
404896:	8d 44 24 74          	lea    0x74(%esp),%eax
40489a:	8b ca                	mov    %edx,%ecx
40489c:	50                   	push   %eax
40489d:	e8 6d 17 00 00       	call   0x40600f
4048a2:	50                   	push   %eax
4048a3:	8d 8c 24 e8 00 00 00 	lea    0xe8(%esp),%ecx
4048aa:	e8 01 06 00 00       	call   0x404eb0
4048af:	68 24 96 43 00       	push   $0x439624
4048b4:	8d 94 24 e8 00 00 00 	lea    0xe8(%esp),%edx
4048bb:	8d 4c 24 40          	lea    0x40(%esp),%ecx
4048bf:	e8 16 1e 00 00       	call   0x4066da
4048c4:	59                   	pop    %ecx
4048c5:	6a ff                	push   $0xffffffff
4048c7:	6a 00                	push   $0x0
4048c9:	50                   	push   %eax
4048ca:	8b cf                	mov    %edi,%ecx
4048cc:	e8 3e 17 00 00       	call   0x40600f
4048d1:	33 f6                	xor    %esi,%esi
4048d3:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
4048d7:	6a 00                	push   $0x0
4048d9:	46                   	inc    %esi
4048da:	56                   	push   %esi
4048db:	e8 1f 15 00 00       	call   0x405dff
4048e0:	6a 00                	push   $0x0
4048e2:	56                   	push   %esi
4048e3:	8d 8c 24 ec 00 00 00 	lea    0xec(%esp),%ecx
4048ea:	e8 10 15 00 00       	call   0x405dff
4048ef:	6a 00                	push   $0x0
4048f1:	56                   	push   %esi
4048f2:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
4048f6:	e8 04 15 00 00       	call   0x405dff
4048fb:	6a 00                	push   $0x0
4048fd:	56                   	push   %esi
4048fe:	8d 8c 24 8c 00 00 00 	lea    0x8c(%esp),%ecx
404905:	e8 f5 14 00 00       	call   0x405dff
40490a:	6a 00                	push   $0x0
40490c:	56                   	push   %esi
40490d:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
404911:	e8 e9 14 00 00       	call   0x405dff
404916:	6a 00                	push   $0x0
404918:	56                   	push   %esi
404919:	8d 4c 24 74          	lea    0x74(%esp),%ecx
40491d:	e8 dd 14 00 00       	call   0x405dff
404922:	8d 4c 24 10          	lea    0x10(%esp),%ecx
404926:	e8 7b 04 00 00       	call   0x404da6
40492b:	8b 74 24 10          	mov    0x10(%esp),%esi
40492f:	3b 75 00             	cmp    0x0(%ebp),%esi
404932:	0f 85 8d fe ff ff    	jne    0x4047c5
404938:	51                   	push   %ecx
404939:	8b d3                	mov    %ebx,%edx
40493b:	8d 8c 24 d0 00 00 00 	lea    0xd0(%esp),%ecx
404942:	e8 99 03 00 00       	call   0x404ce0
404947:	83 bc 24 e0 00 00 00 	cmpl   $0x0,0xe0(%esp)
40494e:	00
40494f:	59                   	pop    %ecx
404950:	75 07                	jne    0x404959
404952:	32 db                	xor    %bl,%bl
404954:	e9 a4 01 00 00       	jmp    0x404afd
404959:	8b 54 24 20          	mov    0x20(%esp),%edx
40495d:	51                   	push   %ecx
40495e:	8d 8c 24 b8 00 00 00 	lea    0xb8(%esp),%ecx
404965:	e8 76 03 00 00       	call   0x404ce0
40496a:	83 bc 24 c8 00 00 00 	cmpl   $0x0,0xc8(%esp)
404971:	00
404972:	59                   	pop    %ecx
404973:	75 07                	jne    0x40497c
404975:	32 db                	xor    %bl,%bl
404977:	e9 71 01 00 00       	jmp    0x404aed
40497c:	8d 84 24 9c 00 00 00 	lea    0x9c(%esp),%eax
404983:	ba 28 96 43 00       	mov    $0x439628,%edx
404988:	68 24 96 43 00       	push   $0x439624
40498d:	50                   	push   %eax
40498e:	8d 4c 24 44          	lea    0x44(%esp),%ecx
404992:	e8 f6 1c 00 00       	call   0x40668d
404997:	59                   	pop    %ecx
404998:	8b d0                	mov    %eax,%edx
40499a:	8d 4c 24 58          	lea    0x58(%esp),%ecx
40499e:	e8 37 1d 00 00       	call   0x4066da
4049a3:	59                   	pop    %ecx
4049a4:	83 ce ff             	or     $0xffffffff,%esi
4049a7:	33 db                	xor    %ebx,%ebx
4049a9:	56                   	push   %esi
4049aa:	53                   	push   %ebx
4049ab:	50                   	push   %eax
4049ac:	8b cf                	mov    %edi,%ecx
4049ae:	e8 5c 16 00 00       	call   0x40600f
4049b3:	33 ed                	xor    %ebp,%ebp
4049b5:	8d 4c 24 54          	lea    0x54(%esp),%ecx
4049b9:	53                   	push   %ebx
4049ba:	45                   	inc    %ebp
4049bb:	55                   	push   %ebp
4049bc:	e8 3e 14 00 00       	call   0x405dff
4049c1:	53                   	push   %ebx
4049c2:	55                   	push   %ebp
4049c3:	8d 4c 24 44          	lea    0x44(%esp),%ecx
4049c7:	e8 33 14 00 00       	call   0x405dff
4049cc:	8d 84 24 b4 00 00 00 	lea    0xb4(%esp),%eax
4049d3:	ba 34 96 43 00       	mov    $0x439634,%edx
4049d8:	68 60 96 43 00       	push   $0x439660
4049dd:	50                   	push   %eax
4049de:	8d 8c 24 8c 00 00 00 	lea    0x8c(%esp),%ecx
4049e5:	e8 a3 1c 00 00       	call   0x40668d
4049ea:	59                   	pop    %ecx
4049eb:	8b d0                	mov    %eax,%edx
4049ed:	8d 4c 24 40          	lea    0x40(%esp),%ecx
4049f1:	e8 e4 1c 00 00       	call   0x4066da
4049f6:	59                   	pop    %ecx
4049f7:	56                   	push   %esi
4049f8:	53                   	push   %ebx
4049f9:	8d 8c 24 d4 00 00 00 	lea    0xd4(%esp),%ecx
404a00:	51                   	push   %ecx
404a01:	8b c8                	mov    %eax,%ecx
404a03:	e8 07 16 00 00       	call   0x40600f
404a08:	50                   	push   %eax
404a09:	8d 4c 24 28          	lea    0x28(%esp),%ecx
404a0d:	e8 9e 04 00 00       	call   0x404eb0
404a12:	68 5c 96 43 00       	push   $0x43965c
404a17:	8d 54 24 28          	lea    0x28(%esp),%edx
404a1b:	8d 4c 24 58          	lea    0x58(%esp),%ecx
404a1f:	e8 b6 1c 00 00       	call   0x4066da
404a24:	59                   	pop    %ecx
404a25:	56                   	push   %esi
404a26:	53                   	push   %ebx
404a27:	50                   	push   %eax
404a28:	8b cf                	mov    %edi,%ecx
404a2a:	e8 e0 15 00 00       	call   0x40600f
404a2f:	53                   	push   %ebx
404a30:	55                   	push   %ebp
404a31:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
404a35:	e8 c5 13 00 00       	call   0x405dff
404a3a:	53                   	push   %ebx
404a3b:	55                   	push   %ebp
404a3c:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx