403647:	8b c1                	mov    %ecx,%eax
403649:	c3                   	ret
40364a:	8b 65 e8             	mov    -0x18(%ebp),%esp
40364d:	6a 06                	push   $0x6
40364f:	59                   	pop    %ecx
403650:	33 c0                	xor    %eax,%eax
403652:	bf ec 63 40 00       	mov    $0x4063ec,%edi
403657:	f3 ab                	rep stos %eax,%es:(%edi)
403659:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403660:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
403665:	8b 4d f0             	mov    -0x10(%ebp),%ecx
403668:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40366f:	59                   	pop    %ecx
403670:	5f                   	pop    %edi
403671:	5e                   	pop    %esi
403672:	5b                   	pop    %ebx
403673:	c9                   	leave
403674:	c2 04 00             	ret    $0x4
403677:	8b ff                	mov    %edi,%edi
403679:	55                   	push   %ebp
40367a:	8b ec                	mov    %esp,%ebp
40367c:	51                   	push   %ecx
40367d:	57                   	push   %edi
40367e:	8b 3d e0 63 40 00    	mov    0x4063e0,%edi
403684:	85 ff                	test   %edi,%edi
403686:	75 04                	jne    0x40368c
403688:	33 c0                	xor    %eax,%eax
40368a:	eb 7c                	jmp    0x403708
40368c:	53                   	push   %ebx
40368d:	33 db                	xor    %ebx,%ebx
40368f:	39 1f                	cmp    %ebx,(%edi)
403691:	74 72                	je     0x403705
403693:	56                   	push   %esi
403694:	85 db                	test   %ebx,%ebx
403696:	75 6c                	jne    0x403704
403698:	21 5d fc             	and    %ebx,-0x4(%ebp)
40369b:	8b 77 08             	mov    0x8(%edi),%esi
40369e:	85 f6                	test   %esi,%esi
4036a0:	74 48                	je     0x4036ea
4036a2:	8d 45 fc             	lea    -0x4(%ebp),%eax
4036a5:	8b ce                	mov    %esi,%ecx
4036a7:	50                   	push   %eax
4036a8:	68 60 12 40 00       	push   $0x401260
4036ad:	ff 77 0c             	push   0xc(%edi)
4036b0:	ff 15 d0 71 40 00    	call   *0x4071d0
4036b6:	ff d6                	call   *%esi
4036b8:	8b d8                	mov    %eax,%ebx
4036ba:	85 db                	test   %ebx,%ebx
4036bc:	78 15                	js     0x4036d3
4036be:	8d 47 14             	lea    0x14(%edi),%eax
4036c1:	50                   	push   %eax
4036c2:	6a 04                	push   $0x4
4036c4:	6a 04                	push   $0x4
4036c6:	ff 75 fc             	push   -0x4(%ebp)
4036c9:	ff 37                	push   (%edi)
4036cb:	ff 15 10 70 40 00    	call   *0x407010
4036d1:	8b d8                	mov    %eax,%ebx
4036d3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4036d6:	85 c9                	test   %ecx,%ecx
4036d8:	74 10                	je     0x4036ea
4036da:	8b 01                	mov    (%ecx),%eax
4036dc:	51                   	push   %ecx
4036dd:	8b 70 08             	mov    0x8(%eax),%esi
4036e0:	8b ce                	mov    %esi,%ecx
4036e2:	ff 15 d0 71 40 00    	call   *0x4071d0
4036e8:	ff d6                	call   *%esi
4036ea:	33 c9                	xor    %ecx,%ecx
4036ec:	83 3d d0 63 40 00 64 	cmpl   $0x64,0x4063d0
4036f3:	0f 95 c1             	setne  %cl
4036f6:	8d 0c cd 1c 00 00 00 	lea    0x1c(,%ecx,8),%ecx
4036fd:	03 f9                	add    %ecx,%edi
4036ff:	83 3f 00             	cmpl   $0x0,(%edi)
403702:	75 90                	jne    0x403694
403704:	5e                   	pop    %esi
403705:	8b c3                	mov    %ebx,%eax
403707:	5b                   	pop    %ebx
403708:	5f                   	pop    %edi
403709:	c9                   	leave
40370a:	c2 04 00             	ret    $0x4
40370d:	8b ff                	mov    %edi,%edi
40370f:	53                   	push   %ebx
403710:	8b dc                	mov    %esp,%ebx
403712:	51                   	push   %ecx
403713:	51                   	push   %ecx
403714:	83 e4 f8             	and    $0xfffffff8,%esp
403717:	83 c4 04             	add    $0x4,%esp
40371a:	55                   	push   %ebp
40371b:	8b 6b 04             	mov    0x4(%ebx),%ebp
40371e:	89 6c 24 04          	mov    %ebp,0x4(%esp)
403722:	8b ec                	mov    %esp,%ebp
403724:	83 ec 18             	sub    $0x18,%esp
403727:	56                   	push   %esi
403728:	57                   	push   %edi
403729:	8b 3d e0 63 40 00    	mov    0x4063e0,%edi
40372f:	33 f6                	xor    %esi,%esi
403731:	85 ff                	test   %edi,%edi
403733:	74 47                	je     0x40377c
403735:	eb 41                	jmp    0x403778
403737:	8b 4f 10             	mov    0x10(%edi),%ecx
40373a:	85 c9                	test   %ecx,%ecx
40373c:	74 12                	je     0x403750
40373e:	8b 01                	mov    (%ecx),%eax
403740:	51                   	push   %ecx
403741:	8b 70 08             	mov    0x8(%eax),%esi
403744:	8b ce                	mov    %esi,%ecx
403746:	ff 15 d0 71 40 00    	call   *0x4071d0
40374c:	ff d6                	call   *%esi
40374e:	33 f6                	xor    %esi,%esi
403750:	89 77 10             	mov    %esi,0x10(%edi)
403753:	56                   	push   %esi
403754:	8b 77 20             	mov    0x20(%edi),%esi
403757:	8b ce                	mov    %esi,%ecx
403759:	ff 15 d0 71 40 00    	call   *0x4071d0
40375f:	ff d6                	call   *%esi
403761:	33 c0                	xor    %eax,%eax
403763:	83 3d d0 63 40 00 64 	cmpl   $0x64,0x4063d0
40376a:	0f 95 c0             	setne  %al
40376d:	8d 04 c5 1c 00 00 00 	lea    0x1c(,%eax,8),%eax
403774:	03 f8                	add    %eax,%edi
403776:	33 f6                	xor    %esi,%esi
403778:	39 37                	cmp    %esi,(%edi)
40377a:	75 bb                	jne    0x403737
40377c:	6a 06                	push   $0x6
40377e:	59                   	pop    %ecx
40377f:	33 c0                	xor    %eax,%eax
403781:	8d 7d e8             	lea    -0x18(%ebp),%edi
403784:	f3 ab                	rep stos %eax,%es:(%edi)
403786:	ba ec 63 40 00       	mov    $0x4063ec,%edx
40378b:	8d 7d e8             	lea    -0x18(%ebp),%edi
40378e:	8b ce                	mov    %esi,%ecx
403790:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
403793:	3b 04 8f             	cmp    (%edi,%ecx,4),%eax
403796:	75 08                	jne    0x4037a0
403798:	41                   	inc    %ecx
403799:	83 f9 06             	cmp    $0x6,%ecx
40379c:	75 f2                	jne    0x403790
40379e:	eb 07                	jmp    0x4037a7
4037a0:	52                   	push   %edx
4037a1:	ff 15 28 71 40 00    	call   *0x407128
4037a7:	ba 04 64 40 00       	mov    $0x406404,%edx
4037ac:	8d 7d e8             	lea    -0x18(%ebp),%edi
4037af:	8b ce                	mov    %esi,%ecx
4037b1:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
4037b4:	3b 04 8f             	cmp    (%edi,%ecx,4),%eax
4037b7:	75 08                	jne    0x4037c1
4037b9:	41                   	inc    %ecx
4037ba:	83 f9 06             	cmp    $0x6,%ecx
4037bd:	75 f2                	jne    0x4037b1
4037bf:	eb 07                	jmp    0x4037c8
4037c1:	52                   	push   %edx
4037c2:	ff 15 28 71 40 00    	call   *0x407128
4037c8:	ba 1c 64 40 00       	mov    $0x40641c,%edx
4037cd:	8d 7d e8             	lea    -0x18(%ebp),%edi
4037d0:	8b ce                	mov    %esi,%ecx
4037d2:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
4037d5:	3b 04 8f             	cmp    (%edi,%ecx,4),%eax
4037d8:	75 08                	jne    0x4037e2
4037da:	41                   	inc    %ecx
4037db:	83 f9 06             	cmp    $0x6,%ecx
4037de:	75 f2                	jne    0x4037d2
4037e0:	eb 07                	jmp    0x4037e9
4037e2:	52                   	push   %edx
4037e3:	ff 15 28 71 40 00    	call   *0x407128
4037e9:	8b 3d 50 64 40 00    	mov    0x406450,%edi
4037ef:	85 ff                	test   %edi,%edi
4037f1:	74 1f                	je     0x403812
4037f3:	8b 37                	mov    (%edi),%esi
4037f5:	8b ce                	mov    %esi,%ecx
4037f7:	ff 77 04             	push   0x4(%edi)
4037fa:	ff 15 d0 71 40 00    	call   *0x4071d0
403800:	ff d6                	call   *%esi
403802:	8b 77 08             	mov    0x8(%edi),%esi
403805:	57                   	push   %edi
403806:	e8 2e 14 00 00       	call   0x404c39
40380b:	8b fe                	mov    %esi,%edi
40380d:	59                   	pop    %ecx
40380e:	85 f6                	test   %esi,%esi
403810:	75 e1                	jne    0x4037f3
403812:	a1 e8 63 40 00       	mov    0x4063e8,%eax
403817:	85 c0                	test   %eax,%eax
403819:	74 3c                	je     0x403857
40381b:	80 3d 3c 64 40 00 00 	cmpb   $0x0,0x40643c
403822:	74 33                	je     0x403857
403824:	8b 0d 48 64 40 00    	mov    0x406448,%ecx
40382a:	85 c9                	test   %ecx,%ecx
40382c:	74 22                	je     0x403850
40382e:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
403831:	85 c0                	test   %eax,%eax
403833:	74 0d                	je     0x403842
403835:	50                   	push   %eax
403836:	ff 15 60 70 40 00    	call   *0x407060
40383c:	8b 0d 48 64 40 00    	mov    0x406448,%ecx
403842:	46                   	inc    %esi
403843:	3b 35 44 64 40 00    	cmp    0x406444,%esi
403849:	76 e3                	jbe    0x40382e
40384b:	a1 e8 63 40 00       	mov    0x4063e8,%eax
403850:	50                   	push   %eax
403851:	ff 15 60 70 40 00    	call   *0x407060
403857:	5f                   	pop    %edi
403858:	33 c0                	xor    %eax,%eax
40385a:	5e                   	pop    %esi
40385b:	8b e5                	mov    %ebp,%esp
40385d:	5d                   	pop    %ebp
40385e:	8b e3                	mov    %ebx,%esp
403860:	5b                   	pop    %ebx
403861:	c3                   	ret
403862:	8b ff                	mov    %edi,%edi
403864:	55                   	push   %ebp
403865:	8b ec                	mov    %esp,%ebp
403867:	83 ec 28             	sub    $0x28,%esp
40386a:	a1 54 60 40 00       	mov    0x406054,%eax
40386f:	33 c5                	xor    %ebp,%eax
403871:	89 45 f8             	mov    %eax,-0x8(%ebp)
403874:	53                   	push   %ebx
403875:	56                   	push   %esi
403876:	33 db                	xor    %ebx,%ebx
403878:	89 55 dc             	mov    %edx,-0x24(%ebp)
40387b:	8b f2                	mov    %edx,%esi
40387d:	89 4d e0             	mov    %ecx,-0x20(%ebp)
403880:	8b c3                	mov    %ebx,%eax
403882:	89 45 e4             	mov    %eax,-0x1c(%ebp)
403885:	57                   	push   %edi
403886:	85 f6                	test   %esi,%esi
403888:	74 22                	je     0x4038ac
40388a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40388d:	50                   	push   %eax
40388e:	68 70 12 40 00       	push   $0x401270
403893:	6a 01                	push   $0x1
403895:	53                   	push   %ebx
403896:	68 50 12 40 00       	push   $0x401250
40389b:	ff 15 08 70 40 00    	call   *0x407008
4038a1:	85 c0                	test   %eax,%eax
4038a3:	0f 89 a4 00 00 00    	jns    0x40394d
4038a9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4038ac:	8b cb                	mov    %ebx,%ecx
4038ae:	8b d9                	mov    %ecx,%ebx
4038b0:	85 c0                	test   %eax,%eax
4038b2:	74 10                	je     0x4038c4
4038b4:	8b 08                	mov    (%eax),%ecx
4038b6:	50                   	push   %eax
4038b7:	8b 71 08             	mov    0x8(%ecx),%esi
4038ba:	8b ce                	mov    %esi,%ecx
4038bc:	ff 15 d0 71 40 00    	call   *0x4071d0
4038c2:	ff d6                	call   *%esi
4038c4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4038c7:	8b c3                	mov    %ebx,%eax
4038c9:	5f                   	pop    %edi
4038ca:	5e                   	pop    %esi
4038cb:	33 cd                	xor    %ebp,%ecx
4038cd:	5b                   	pop    %ebx
4038ce:	e8 cd 16 00 00       	call   0x404fa0
4038d3:	c9                   	leave
4038d4:	c2 04 00             	ret    $0x4
4038d7:	8d 7d e8             	lea    -0x18(%ebp),%edi
4038da:	8b 76 04             	mov    0x4(%esi),%esi
4038dd:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4038e0:	51                   	push   %ecx
4038e1:	6a 01                	push   $0x1
4038e3:	ff 75 e0             	push   -0x20(%ebp)
4038e6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4038e7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4038e8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4038e9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4038ea:	39 5d 08             	cmp    %ebx,0x8(%ebp)
4038ed:	74 30                	je     0x40391f
4038ef:	83 f8 01             	cmp    $0x1,%eax
4038f2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4038f5:	50                   	push   %eax
4038f6:	8b 30                	mov    (%eax),%esi
4038f8:	75 0e                	jne    0x403908
4038fa:	8b 4e 14             	mov    0x14(%esi),%ecx
4038fd:	ff 15 d0 71 40 00    	call   *0x4071d0
403903:	ff 56 14             	call   *0x14(%esi)
403906:	eb 0c                	jmp    0x403914
403908:	8b 4e 1c             	mov    0x1c(%esi),%ecx
40390b:	ff 15 d0 71 40 00    	call   *0x4071d0
403911:	ff 56 1c             	call   *0x1c(%esi)
403914:	8b c8                	mov    %eax,%ecx
403916:	85 c9                	test   %ecx,%ecx
403918:	79 2a                	jns    0x403944
40391a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40391d:	eb 8f                	jmp    0x4038ae
40391f:	83 f8 01             	cmp    $0x1,%eax
403922:	8b 45 e4             	mov    -0x1c(%ebp),%eax
403925:	50                   	push   %eax
403926:	8b 30                	mov    (%eax),%esi
403928:	75 0e                	jne    0x403938
40392a:	8b 4e 18             	mov    0x18(%esi),%ecx
40392d:	ff 15 d0 71 40 00    	call   *0x4071d0
403933:	ff 56 18             	call   *0x18(%esi)
403936:	eb 0c                	jmp    0x403944
403938:	8b 4e 20             	mov    0x20(%esi),%ecx
40393b:	ff 15 d0 71 40 00    	call   *0x4071d0
403941:	ff 56 20             	call   *0x20(%esi)
403944:	8b 75 dc             	mov    -0x24(%ebp),%esi
403947:	83 c6 08             	add    $0x8,%esi
40394a:	89 75 dc             	mov    %esi,-0x24(%ebp)
40394d:	8b 06                	mov    (%esi),%eax
40394f:	85 c0                	test   %eax,%eax
403951:	75 84                	jne    0x4038d7
403953:	8b 45 e4             	mov    -0x1c(%ebp),%eax
403956:	e9 55 ff ff ff       	jmp    0x4038b0
40395b:	8b ff                	mov    %edi,%edi
40395d:	53                   	push   %ebx
40395e:	8b dc                	mov    %esp,%ebx
403960:	51                   	push   %ecx
403961:	51                   	push   %ecx
403962:	83 e4 f8             	and    $0xfffffff8,%esp
403965:	83 c4 04             	add    $0x4,%esp
403968:	55                   	push   %ebp
403969:	8b 6b 04             	mov    0x4(%ebx),%ebp
40396c:	89 6c 24 04          	mov    %ebp,0x4(%esp)
403970:	8b ec                	mov    %esp,%ebp
403972:	51                   	push   %ecx
403973:	51                   	push   %ecx
403974:	56                   	push   %esi
403975:	57                   	push   %edi
403976:	8b 3d e0 63 40 00    	mov    0x4063e0,%edi
40397c:	85 ff                	test   %edi,%edi
40397e:	75 07                	jne    0x403987
403980:	33 c0                	xor    %eax,%eax
403982:	e9 89 00 00 00       	jmp    0x403a10
403987:	33 f6                	xor    %esi,%esi
403989:	39 37                	cmp    %esi,(%edi)
40398b:	74 7a                	je     0x403a07
40398d:	8b 47 18             	mov    0x18(%edi),%eax
403990:	89 45 fc             	mov    %eax,-0x4(%ebp)
403993:	85 c0                	test   %eax,%eax
403995:	74 0f                	je     0x4039a6
403997:	8b c8                	mov    %eax,%ecx
403999:	ff 15 d0 71 40 00    	call   *0x4071d0
40399f:	ff 55 fc             	call   *-0x4(%ebp)
4039a2:	85 c0                	test   %eax,%eax
4039a4:	75 41                	jne    0x4039e7
4039a6:	8b 77 04             	mov    0x4(%edi),%esi
4039a9:	8b ce                	mov    %esi,%ecx
4039ab:	6a 01                	push   $0x1
4039ad:	ff 15 d0 71 40 00    	call   *0x4071d0
4039b3:	ff d6                	call   *%esi
4039b5:	8b f0                	mov    %eax,%esi
4039b7:	85 f6                	test   %esi,%esi
4039b9:	78 53                	js     0x403a0e
4039bb:	8b 0d d0 63 40 00    	mov    0x4063d0,%ecx
4039c1:	81 f9 84 00 00 00    	cmp    $0x84,%ecx
4039c7:	75 24                	jne    0x4039ed
4039c9:	8b 77 1c             	mov    0x1c(%edi),%esi
4039cc:	8b ce                	mov    %esi,%ecx
4039ce:	6a 01                	push   $0x1
4039d0:	ff 15 d0 71 40 00    	call   *0x4071d0
4039d6:	ff d6                	call   *%esi