404684:	33 cd                	xor    %ebp,%ecx
404686:	5b                   	pop    %ebx
404687:	e8 aa 97 02 00       	call   0x42de36
40468c:	8b e5                	mov    %ebp,%esp
40468e:	5d                   	pop    %ebp
40468f:	c3                   	ret
404690:	55                   	push   %ebp
404691:	8b ec                	mov    %esp,%ebp
404693:	83 ec 20             	sub    $0x20,%esp
404696:	53                   	push   %ebx
404697:	56                   	push   %esi
404698:	57                   	push   %edi
404699:	6a 07                	push   $0x7
40469b:	59                   	pop    %ecx
40469c:	33 c0                	xor    %eax,%eax
40469e:	8d 7d e0             	lea    -0x20(%ebp),%edi
4046a1:	33 db                	xor    %ebx,%ebx
4046a3:	53                   	push   %ebx
4046a4:	f3 ab                	rep stos %eax,%es:(%edi)
4046a6:	b8 00 04 00 00       	mov    $0x400,%eax
4046ab:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4046ae:	50                   	push   %eax
4046af:	50                   	push   %eax
4046b0:	53                   	push   %ebx
4046b1:	8d 45 e0             	lea    -0x20(%ebp),%eax
4046b4:	50                   	push   %eax
4046b5:	ff 15 60 b3 44 00    	call   *0x44b360
4046bb:	ff 15 84 b1 44 00    	call   *0x44b184
4046c1:	8b 7d 08             	mov    0x8(%ebp),%edi
4046c4:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4046c7:	51                   	push   %ecx
4046c8:	50                   	push   %eax
4046c9:	57                   	push   %edi
4046ca:	e8 82 b5 01 00       	call   0x41fc51
4046cf:	8b f0                	mov    %eax,%esi
4046d1:	85 f6                	test   %esi,%esi
4046d3:	79 10                	jns    0x4046e5
4046d5:	68 ec bf 44 00       	push   $0x44bfec
4046da:	56                   	push   %esi
4046db:	e8 4f ba 03 00       	call   0x44012f
4046e0:	e9 de 00 00 00       	jmp    0x4047c3
4046e5:	8d 47 1c             	lea    0x1c(%edi),%eax
4046e8:	50                   	push   %eax
4046e9:	ff 75 fc             	push   -0x4(%ebp)
4046ec:	8d 87 b8 00 00 00    	lea    0xb8(%edi),%eax
4046f2:	50                   	push   %eax
4046f3:	e8 c8 8e 00 00       	call   0x40d5c0
4046f8:	8b f0                	mov    %eax,%esi
4046fa:	85 f6                	test   %esi,%esi
4046fc:	79 07                	jns    0x404705
4046fe:	68 0c c0 44 00       	push   $0x44c00c
404703:	eb d5                	jmp    0x4046da
404705:	8b 87 c8 00 00 00    	mov    0xc8(%edi),%eax
40470b:	50                   	push   %eax
40470c:	8b 08                	mov    (%eax),%ecx
40470e:	ff 51 0c             	call   *0xc(%ecx)
404711:	8b f0                	mov    %eax,%esi
404713:	85 f6                	test   %esi,%esi
404715:	79 0f                	jns    0x404726
404717:	68 20 c0 44 00       	push   $0x44c020
40471c:	56                   	push   %esi
40471d:	e8 0d ba 03 00       	call   0x44012f
404722:	59                   	pop    %ecx
404723:	59                   	pop    %ecx
404724:	eb 32                	jmp    0x404758
404726:	53                   	push   %ebx
404727:	53                   	push   %ebx
404728:	53                   	push   %ebx
404729:	8b 1d 4c b3 44 00    	mov    0x44b34c,%ebx
40472f:	eb 14                	jmp    0x404745
404731:	83 f8 ff             	cmp    $0xffffffff,%eax
404734:	74 54                	je     0x40478a
404736:	8d 45 e0             	lea    -0x20(%ebp),%eax
404739:	50                   	push   %eax
40473a:	57                   	push   %edi
40473b:	e8 8d fc ff ff       	call   0x4043cd
404740:	33 c0                	xor    %eax,%eax
404742:	50                   	push   %eax
404743:	50                   	push   %eax
404744:	50                   	push   %eax
404745:	8d 45 e0             	lea    -0x20(%ebp),%eax
404748:	50                   	push   %eax
404749:	ff d3                	call   *%ebx
40474b:	85 c0                	test   %eax,%eax
40474d:	75 e2                	jne    0x404731
40474f:	8b 45 e8             	mov    -0x18(%ebp),%eax
404752:	89 87 f8 00 00 00    	mov    %eax,0xf8(%edi)
404758:	8b 87 c8 00 00 00    	mov    0xc8(%edi),%eax
40475e:	50                   	push   %eax
40475f:	8b 08                	mov    (%eax),%ecx
404761:	ff 51 10             	call   *0x10(%ecx)
404764:	83 f8 66             	cmp    $0x66,%eax
404767:	75 40                	jne    0x4047a9
404769:	ff 77 18             	push   0x18(%edi)
40476c:	e8 bf f4 00 00       	call   0x413c30
404771:	50                   	push   %eax
404772:	68 04 00 00 20       	push   $0x20000004
404777:	6a 02                	push   $0x2
404779:	e8 91 0d 00 00       	call   0x40550f
40477e:	83 c4 0c             	add    $0xc,%esp
404781:	c7 47 18 01 00 00 00 	movl   $0x1,0x18(%edi)
404788:	eb 3b                	jmp    0x4047c5
40478a:	be ff ff 00 80       	mov    $0x8000ffff,%esi
40478f:	56                   	push   %esi
404790:	68 cd 02 00 00       	push   $0x2cd
404795:	68 d4 b9 44 00       	push   $0x44b9d4
40479a:	e8 34 f0 ff ff       	call   0x4037d3
40479f:	68 4c c0 44 00       	push   $0x44c04c
4047a4:	e9 73 ff ff ff       	jmp    0x40471c
4047a9:	83 f8 68             	cmp    $0x68,%eax
4047ac:	75 17                	jne    0x4047c5
4047ae:	68 06 00 00 20       	push   $0x20000006
4047b3:	6a 02                	push   $0x2
4047b5:	e8 55 0d 00 00       	call   0x40550f
4047ba:	8b 45 0c             	mov    0xc(%ebp),%eax
4047bd:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4047c3:	59                   	pop    %ecx
4047c4:	59                   	pop    %ecx
4047c5:	8d 87 b8 00 00 00    	lea    0xb8(%edi),%eax
4047cb:	50                   	push   %eax
4047cc:	e8 fe 8f 00 00       	call   0x40d7cf
4047d1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4047d4:	85 c9                	test   %ecx,%ecx
4047d6:	74 06                	je     0x4047de
4047d8:	8b 01                	mov    (%ecx),%eax
4047da:	51                   	push   %ecx
4047db:	ff 50 08             	call   *0x8(%eax)
4047de:	5f                   	pop    %edi
4047df:	8b c6                	mov    %esi,%eax
4047e1:	5e                   	pop    %esi
4047e2:	5b                   	pop    %ebx
4047e3:	8b e5                	mov    %ebp,%esp
4047e5:	5d                   	pop    %ebp
4047e6:	c2 08 00             	ret    $0x8
4047e9:	55                   	push   %ebp
4047ea:	8b ec                	mov    %esp,%ebp
4047ec:	51                   	push   %ecx
4047ed:	51                   	push   %ecx
4047ee:	53                   	push   %ebx
4047ef:	56                   	push   %esi
4047f0:	57                   	push   %edi
4047f1:	8b 7d 10             	mov    0x10(%ebp),%edi
4047f4:	33 db                	xor    %ebx,%ebx
4047f6:	6a 01                	push   $0x1
4047f8:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4047fb:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4047fe:	8d 87 a0 04 00 00    	lea    0x4a0(%edi),%eax
404804:	50                   	push   %eax
404805:	e8 29 01 01 00       	call   0x414933
40480a:	8b f0                	mov    %eax,%esi
40480c:	85 f6                	test   %esi,%esi
40480e:	79 0a                	jns    0x40481a
404810:	68 18 be 44 00       	push   $0x44be18
404815:	e9 27 01 00 00       	jmp    0x404941
40481a:	ff 15 78 b2 44 00    	call   *0x44b278
404820:	89 87 98 04 00 00    	mov    %eax,0x498(%edi)
404826:	83 f8 ff             	cmp    $0xffffffff,%eax
404829:	75 38                	jne    0x404863
40482b:	ff 15 e8 b0 44 00    	call   *0x44b0e8
404831:	0f b7 f0             	movzwl %ax,%esi
404834:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40483a:	85 c0                	test   %eax,%eax
40483c:	0f 4e f0             	cmovle %eax,%esi
40483f:	b8 05 40 00 80       	mov    $0x80004005,%eax
404844:	85 f6                	test   %esi,%esi
404846:	0f 49 f0             	cmovns %eax,%esi
404849:	56                   	push   %esi
40484a:	68 4c 02 00 00       	push   $0x24c
40484f:	68 d4 b9 44 00       	push   $0x44b9d4
404854:	e8 7a ef ff ff       	call   0x4037d3
404859:	68 44 be 44 00       	push   $0x44be44
40485e:	e9 de 00 00 00       	jmp    0x404941
404863:	ff b7 b0 04 00 00    	push   0x4b0(%edi)
404869:	50                   	push   %eax
40486a:	ff 15 9c b1 44 00    	call   *0x44b19c
404870:	85 c0                	test   %eax,%eax
404872:	75 38                	jne    0x4048ac
404874:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40487a:	0f b7 f0             	movzwl %ax,%esi
40487d:	81 ce 00 00 07 80    	or     $0x80070000,%esi
404883:	85 c0                	test   %eax,%eax
404885:	0f 4e f0             	cmovle %eax,%esi
404888:	b8 05 40 00 80       	mov    $0x80004005,%eax
40488d:	85 f6                	test   %esi,%esi
40488f:	0f 49 f0             	cmovns %eax,%esi
404892:	56                   	push   %esi
404893:	68 51 02 00 00       	push   $0x251
404898:	68 d4 b9 44 00       	push   $0x44b9d4
40489d:	e8 31 ef ff ff       	call   0x4037d3
4048a2:	68 80 be 44 00       	push   $0x44be80
4048a7:	e9 95 00 00 00       	jmp    0x404941
4048ac:	57                   	push   %edi
4048ad:	68 4c 44 40 00       	push   $0x40444c
4048b2:	e8 d4 bc 03 00       	call   0x44058b
4048b7:	57                   	push   %edi
4048b8:	ff 75 08             	push   0x8(%ebp)
4048bb:	e8 6a 9f 01 00       	call   0x41e82a
4048c0:	8b f0                	mov    %eax,%esi
4048c2:	85 f6                	test   %esi,%esi
4048c4:	79 07                	jns    0x4048cd
4048c6:	68 20 bd 44 00       	push   $0x44bd20
4048cb:	eb 74                	jmp    0x404941
4048cd:	6a 01                	push   $0x1
4048cf:	e8 54 d2 03 00       	call   0x441b28
4048d4:	8d 47 18             	lea    0x18(%edi),%eax
4048d7:	50                   	push   %eax
4048d8:	8d 87 f8 00 00 00    	lea    0xf8(%edi),%eax
4048de:	50                   	push   %eax
4048df:	8d 45 f8             	lea    -0x8(%ebp),%eax
4048e2:	50                   	push   %eax
4048e3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4048e6:	50                   	push   %eax
4048e7:	8d 87 b8 00 00 00    	lea    0xb8(%edi),%eax
4048ed:	50                   	push   %eax
4048ee:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
4048f4:	50                   	push   %eax
4048f5:	8d 87 88 00 00 00    	lea    0x88(%edi),%eax
4048fb:	50                   	push   %eax
4048fc:	8d 87 b8 02 00 00    	lea    0x2b8(%edi),%eax
404902:	50                   	push   %eax
404903:	8d 87 c0 02 00 00    	lea    0x2c0(%edi),%eax
404909:	50                   	push   %eax
40490a:	8d 87 a8 02 00 00    	lea    0x2a8(%edi),%eax
404910:	50                   	push   %eax
404911:	8d 87 d8 03 00 00    	lea    0x3d8(%edi),%eax
404917:	50                   	push   %eax
404918:	ff b7 b4 04 00 00    	push   0x4b4(%edi)
40491e:	ff b7 b0 04 00 00    	push   0x4b0(%edi)
404924:	ff b7 98 04 00 00    	push   0x498(%edi)
40492a:	e8 eb 86 01 00       	call   0x41d01a
40492f:	53                   	push   %ebx
404930:	53                   	push   %ebx
404931:	8b f0                	mov    %eax,%esi
404933:	e8 53 bc 03 00       	call   0x44058b
404938:	85 f6                	test   %esi,%esi
40493a:	79 0d                	jns    0x404949
40493c:	68 c4 be 44 00       	push   $0x44bec4
404941:	56                   	push   %esi
404942:	e8 e8 b7 03 00       	call   0x44012f
404947:	59                   	pop    %ecx
404948:	59                   	pop    %ecx
404949:	53                   	push   %ebx
40494a:	53                   	push   %ebx
40494b:	e8 3b bc 03 00       	call   0x44058b
404950:	57                   	push   %edi
404951:	e8 95 9e 01 00       	call   0x41e7eb
404956:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
404959:	74 05                	je     0x404960
40495b:	e8 f6 87 01 00       	call   0x41d156
404960:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
404963:	74 12                	je     0x404977
404965:	ff 75 fc             	push   -0x4(%ebp)
404968:	ff 15 90 b1 44 00    	call   *0x44b190
40496e:	ff 75 fc             	push   -0x4(%ebp)
404971:	ff 15 d4 b0 44 00    	call   *0x44b0d4
404977:	5f                   	pop    %edi
404978:	8b c6                	mov    %esi,%eax
40497a:	5e                   	pop    %esi
40497b:	5b                   	pop    %ebx
40497c:	8b e5                	mov    %ebp,%esp
40497e:	5d                   	pop    %ebp
40497f:	c2 0c 00             	ret    $0xc
404982:	55                   	push   %ebp
404983:	8b ec                	mov    %esp,%ebp
404985:	53                   	push   %ebx
404986:	56                   	push   %esi
404987:	57                   	push   %edi
404988:	8b 7d 0c             	mov    0xc(%ebp),%edi
40498b:	33 db                	xor    %ebx,%ebx
40498d:	6a 00                	push   $0x0
40498f:	43                   	inc    %ebx
404990:	8d 87 b8 04 00 00    	lea    0x4b8(%edi),%eax
404996:	89 9f ec 03 00 00    	mov    %ebx,0x3ec(%edi)
40499c:	50                   	push   %eax
40499d:	e8 91 ff 00 00       	call   0x414933
4049a2:	8b f0                	mov    %eax,%esi
4049a4:	85 f6                	test   %esi,%esi
4049a6:	79 07                	jns    0x4049af
4049a8:	68 f4 be 44 00       	push   $0x44bef4
4049ad:	eb 1f                	jmp    0x4049ce
4049af:	39 5f 20             	cmp    %ebx,0x20(%edi)
4049b2:	75 06                	jne    0x4049ba
4049b4:	89 9f 08 01 00 00    	mov    %ebx,0x108(%edi)
4049ba:	57                   	push   %edi
4049bb:	ff 75 08             	push   0x8(%ebp)
4049be:	e8 1c 00 00 00       	call   0x4049df
4049c3:	8b f0                	mov    %eax,%esi
4049c5:	85 f6                	test   %esi,%esi
4049c7:	79 0d                	jns    0x4049d6
4049c9:	68 28 bf 44 00       	push   $0x44bf28
4049ce:	56                   	push   %esi
4049cf:	e8 5b b7 03 00       	call   0x44012f
4049d4:	59                   	pop    %ecx
4049d5:	59                   	pop    %ecx
4049d6:	5f                   	pop    %edi
4049d7:	8b c6                	mov    %esi,%eax
4049d9:	5e                   	pop    %esi
4049da:	5b                   	pop    %ebx
4049db:	5d                   	pop    %ebp
4049dc:	c2 08 00             	ret    $0x8
4049df:	55                   	push   %ebp
4049e0:	8b ec                	mov    %esp,%ebp
4049e2:	51                   	push   %ecx
4049e3:	53                   	push   %ebx
4049e4:	56                   	push   %esi
4049e5:	57                   	push   %edi
4049e6:	8b 7d 0c             	mov    0xc(%ebp),%edi
4049e9:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4049f0:	ff b7 60 01 00 00    	push   0x160(%edi)
4049f6:	8d 9f 88 00 00 00    	lea    0x88(%edi),%ebx
4049fc:	ff 77 20             	push   0x20(%edi)
4049ff:	8d 87 f4 03 00 00    	lea    0x3f4(%edi),%eax
404a05:	53                   	push   %ebx
404a06:	50                   	push   %eax
404a07:	e8 3b f4 00 00       	call   0x413e47
404a0c:	8b f0                	mov    %eax,%esi
404a0e:	85 f6                	test   %esi,%esi
404a10:	79 0a                	jns    0x404a1c
404a12:	68 e8 bc 44 00       	push   $0x44bce8
404a17:	e9 0d 01 00 00       	jmp    0x404b29
404a1c:	8d 45 fc             	lea    -0x4(%ebp),%eax
404a1f:	50                   	push   %eax
404a20:	8d 87 f8 00 00 00    	lea    0xf8(%edi),%eax
404a26:	50                   	push   %eax
404a27:	ff b7 60 01 00 00    	push   0x160(%edi)
404a2d:	8d 87 ac 00 00 00    	lea    0xac(%edi),%eax
404a33:	ff 77 20             	push   0x20(%edi)
404a36:	50                   	push   %eax
404a37:	53                   	push   %ebx
404a38:	e8 33 4e 00 00       	call   0x409870
404a3d:	8b f0                	mov    %eax,%esi
404a3f:	85 f6                	test   %esi,%esi
404a41:	79 0a                	jns    0x404a4d
404a43:	68 fc bc 44 00       	push   $0x44bcfc
404a48:	e9 dc 00 00 00       	jmp    0x404b29
404a4d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
404a51:	75 13                	jne    0x404a66
404a53:	68 35 00 00 e0       	push   $0xe0000035
404a58:	6a 02                	push   $0x2
404a5a:	e8 b0 0a 00 00       	call   0x40550f
404a5f:	33 f6                	xor    %esi,%esi
404a61:	e9 c9 00 00 00       	jmp    0x404b2f
404a66:	83 bf b8 00 00 00 00 	cmpl   $0x0,0xb8(%edi)
404a6d:	74 14                	je     0x404a83
404a6f:	83 7f 20 02          	cmpl   $0x2,0x20(%edi)
404a73:	7e 0e                	jle    0x404a83
404a75:	8d 47 34             	lea    0x34(%edi),%eax
404a78:	50                   	push   %eax
404a79:	6a 00                	push   $0x0
404a7b:	ff 75 08             	push   0x8(%ebp)