404747:	89 4f 0c             	mov    %ecx,0xc(%edi)
40474a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40474d:	89 77 10             	mov    %esi,0x10(%edi)
404750:	89 4f 14             	mov    %ecx,0x14(%edi)
404753:	b0 01                	mov    $0x1,%al
404755:	5f                   	pop    %edi
404756:	5e                   	pop    %esi
404757:	5b                   	pop    %ebx
404758:	c9                   	leave
404759:	c2 0c 00             	ret    $0xc
40475c:	83 67 08 00          	andl   $0x0,0x8(%edi)
404760:	83 67 0c 00          	andl   $0x0,0xc(%edi)
404764:	83 fb 01             	cmp    $0x1,%ebx
404767:	0f 84 76 f9 06 00    	je     0x4740e3
40476d:	53                   	push   %ebx
40476e:	6a 00                	push   $0x0
404770:	52                   	push   %edx
404771:	56                   	push   %esi
404772:	ff 37                	push   (%edi)
404774:	ff 15 c8 d1 48 00    	call   *0x48d1c8
40477a:	8b cf                	mov    %edi,%ecx
40477c:	8b f0                	mov    %eax,%esi
40477e:	e8 15 00 00 00       	call   0x404798
404783:	85 f6                	test   %esi,%esi
404785:	89 47 10             	mov    %eax,0x10(%edi)
404788:	89 57 14             	mov    %edx,0x14(%edi)
40478b:	0f 95 c0             	setne  %al
40478e:	eb c5                	jmp    0x404755
404790:	8b 75 08             	mov    0x8(%ebp),%esi
404793:	8b 55 0c             	mov    0xc(%ebp),%edx
404796:	eb c4                	jmp    0x40475c
404798:	55                   	push   %ebp
404799:	8b ec                	mov    %esp,%ebp
40479b:	51                   	push   %ecx
40479c:	51                   	push   %ecx
40479d:	6a 01                	push   $0x1
40479f:	8d 45 f8             	lea    -0x8(%ebp),%eax
4047a2:	50                   	push   %eax
4047a3:	6a 00                	push   $0x0
4047a5:	6a 00                	push   $0x0
4047a7:	ff 31                	push   (%ecx)
4047a9:	ff 15 c8 d1 48 00    	call   *0x48d1c8
4047af:	8b 45 f8             	mov    -0x8(%ebp),%eax
4047b2:	8b 55 fc             	mov    -0x4(%ebp),%edx
4047b5:	c9                   	leave
4047b6:	c3                   	ret
4047b7:	55                   	push   %ebp
4047b8:	8b ec                	mov    %esp,%ebp
4047ba:	8b 45 08             	mov    0x8(%ebp),%eax
4047bd:	56                   	push   %esi
4047be:	8b f1                	mov    %ecx,%esi
4047c0:	6a 04                	push   $0x4
4047c2:	89 06                	mov    %eax,(%esi)
4047c4:	e8 21 ad 01 00       	call   0x41f4ea
4047c9:	59                   	pop    %ecx
4047ca:	85 c0                	test   %eax,%eax
4047cc:	74 10                	je     0x4047de
4047ce:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4047d4:	89 46 04             	mov    %eax,0x4(%esi)
4047d7:	8b c6                	mov    %esi,%eax
4047d9:	5e                   	pop    %esi
4047da:	5d                   	pop    %ebp
4047db:	c2 04 00             	ret    $0x4
4047de:	33 c0                	xor    %eax,%eax
4047e0:	eb f2                	jmp    0x4047d4
4047e2:	56                   	push   %esi
4047e3:	8b f1                	mov    %ecx,%esi
4047e5:	8b 46 04             	mov    0x4(%esi),%eax
4047e8:	ff 08                	decl   (%eax)
4047ea:	75 11                	jne    0x4047fd
4047ec:	ff 76 04             	push   0x4(%esi)
4047ef:	e8 6a ad 01 00       	call   0x41f55e
4047f4:	ff 36                	push   (%esi)
4047f6:	e8 63 ad 01 00       	call   0x41f55e
4047fb:	59                   	pop    %ecx
4047fc:	59                   	pop    %ecx
4047fd:	5e                   	pop    %esi
4047fe:	c3                   	ret
4047ff:	55                   	push   %ebp
404800:	8b ec                	mov    %esp,%ebp
404802:	53                   	push   %ebx
404803:	56                   	push   %esi
404804:	8b f1                	mov    %ecx,%esi
404806:	33 db                	xor    %ebx,%ebx
404808:	83 0e ff             	orl    $0xffffffff,(%esi)
40480b:	f7 45 0c 00 20 00 00 	testl  $0x2000,0xc(%ebp)
404812:	0f 84 56 f8 06 00    	je     0x47406e
404818:	53                   	push   %ebx
404819:	68 80 00 00 00       	push   $0x80
40481e:	6a 03                	push   $0x3
404820:	53                   	push   %ebx
404821:	6a 07                	push   $0x7
404823:	68 00 00 00 80       	push   $0x80000000
404828:	8b 45 08             	mov    0x8(%ebp),%eax
40482b:	ff 30                	push   (%eax)
40482d:	ff 15 c4 d1 48 00    	call   *0x48d1c4
404833:	89 06                	mov    %eax,(%esi)
404835:	83 3e ff             	cmpl   $0xffffffff,(%esi)
404838:	74 03                	je     0x40483d
40483a:	33 db                	xor    %ebx,%ebx
40483c:	43                   	inc    %ebx
40483d:	5e                   	pop    %esi
40483e:	8a c3                	mov    %bl,%al
404840:	5b                   	pop    %ebx
404841:	5d                   	pop    %ebp
404842:	c2 08 00             	ret    $0x8
404845:	56                   	push   %esi
404846:	8b f1                	mov    %ecx,%esi
404848:	57                   	push   %edi
404849:	8b 4e 28             	mov    0x28(%esi),%ecx
40484c:	f6 c1 03             	test   $0x3,%cl
40484f:	0f 85 ab f8 06 00    	jne    0x474100
404855:	5f                   	pop    %edi
404856:	5e                   	pop    %esi
404857:	c3                   	ret
404858:	cc                   	int3
404859:	cc                   	int3
40485a:	cc                   	int3
40485b:	cc                   	int3
40485c:	cc                   	int3
40485d:	cc                   	int3
40485e:	cc                   	int3
40485f:	cc                   	int3
404860:	55                   	push   %ebp
404861:	8b ec                	mov    %esp,%ebp
404863:	8b 55 0c             	mov    0xc(%ebp),%edx
404866:	53                   	push   %ebx
404867:	33 c0                	xor    %eax,%eax
404869:	56                   	push   %esi
40486a:	b7 01                	mov    $0x1,%bh
40486c:	85 d2                	test   %edx,%edx
40486e:	74 14                	je     0x404884
404870:	8b 75 08             	mov    0x8(%ebp),%esi
404873:	8a 0c 30             	mov    (%eax,%esi,1),%cl
404876:	80 f9 7f             	cmp    $0x7f,%cl
404879:	77 11                	ja     0x40488c
40487b:	40                   	inc    %eax
40487c:	3b c2                	cmp    %edx,%eax
40487e:	72 f3                	jb     0x404873
404880:	84 ff                	test   %bh,%bh
404882:	74 2b                	je     0x4048af
404884:	5e                   	pop    %esi
404885:	33 c0                	xor    %eax,%eax
404887:	5b                   	pop    %ebx
404888:	5d                   	pop    %ebp
404889:	c2 08 00             	ret    $0x8
40488c:	80 f9 df             	cmp    $0xdf,%cl
40488f:	0f 86 82 f7 06 00    	jbe    0x474017
404895:	80 f9 ef             	cmp    $0xef,%cl
404898:	0f 86 89 f7 06 00    	jbe    0x474027
40489e:	80 f9 f4             	cmp    $0xf4,%cl
4048a1:	0f 86 90 f7 06 00    	jbe    0x474037
4048a7:	5e                   	pop    %esi
4048a8:	32 c0                	xor    %al,%al
4048aa:	5b                   	pop    %ebx
4048ab:	5d                   	pop    %ebp
4048ac:	c2 08 00             	ret    $0x8
4048af:	5e                   	pop    %esi
4048b0:	b8 01 00 00 00       	mov    $0x1,%eax
4048b5:	5b                   	pop    %ebx
4048b6:	5d                   	pop    %ebp
4048b7:	c2 08 00             	ret    $0x8
4048ba:	56                   	push   %esi
4048bb:	8b f1                	mov    %ecx,%esi
4048bd:	e8 6f 00 00 00       	call   0x404931
4048c2:	8d 4e 18             	lea    0x18(%esi),%ecx
4048c5:	e8 2d 8f 00 00       	call   0x40d7f7
4048ca:	8b ce                	mov    %esi,%ecx
4048cc:	e8 36 00 00 00       	call   0x404907
4048d1:	83 66 2c 00          	andl   $0x0,0x2c(%esi)
4048d5:	83 66 30 00          	andl   $0x0,0x30(%esi)
4048d9:	8b c6                	mov    %esi,%eax
4048db:	5e                   	pop    %esi
4048dc:	c3                   	ret
4048dd:	56                   	push   %esi
4048de:	8b f1                	mov    %ecx,%esi
4048e0:	e8 22 00 00 00       	call   0x404907
4048e5:	83 66 2c 00          	andl   $0x0,0x2c(%esi)
4048e9:	83 66 30 00          	andl   $0x0,0x30(%esi)
4048ed:	8d 4e 18             	lea    0x18(%esi),%ecx
4048f0:	e8 42 82 00 00       	call   0x40cb37
4048f5:	8b ce                	mov    %esi,%ecx
4048f7:	e8 0b 00 00 00       	call   0x404907
4048fc:	ff 76 04             	push   0x4(%esi)
4048ff:	e8 5a ac 01 00       	call   0x41f55e
404904:	59                   	pop    %ecx
404905:	5e                   	pop    %esi
404906:	c3                   	ret
404907:	56                   	push   %esi
404908:	57                   	push   %edi
404909:	8b f1                	mov    %ecx,%esi
40490b:	33 ff                	xor    %edi,%edi
40490d:	39 3e                	cmp    %edi,(%esi)
40490f:	75 0f                	jne    0x404920
404911:	89 7e 08             	mov    %edi,0x8(%esi)
404914:	89 7e 0c             	mov    %edi,0xc(%esi)
404917:	89 7e 10             	mov    %edi,0x10(%esi)
40491a:	89 7e 14             	mov    %edi,0x14(%esi)
40491d:	5f                   	pop    %edi
40491e:	5e                   	pop    %esi
40491f:	c3                   	ret
404920:	83 3e ff             	cmpl   $0xffffffff,(%esi)
404923:	74 ec                	je     0x404911
404925:	ff 36                	push   (%esi)
404927:	ff 15 0c d3 48 00    	call   *0x48d30c
40492d:	89 3e                	mov    %edi,(%esi)
40492f:	eb e0                	jmp    0x404911
404931:	56                   	push   %esi
404932:	8b f1                	mov    %ecx,%esi
404934:	68 00 00 01 00       	push   $0x10000
404939:	83 26 00             	andl   $0x0,(%esi)
40493c:	e8 a9 ab 01 00       	call   0x41f4ea
404941:	59                   	pop    %ecx
404942:	8b ce                	mov    %esi,%ecx
404944:	89 46 04             	mov    %eax,0x4(%esi)
404947:	e8 bb ff ff ff       	call   0x404907
40494c:	8b c6                	mov    %esi,%eax
40494e:	5e                   	pop    %esi
40494f:	c3                   	ret
404950:	55                   	push   %ebp
404951:	8b ec                	mov    %esp,%ebp
404953:	51                   	push   %ecx
404954:	51                   	push   %ecx
404955:	80 79 14 00          	cmpb   $0x0,0x14(%ecx)
404959:	0f 85 a3 06 07 00    	jne    0x475002
40495f:	ff 75 08             	push   0x8(%ebp)
404962:	e8 fe f4 01 00       	call   0x423e65
404967:	59                   	pop    %ecx
404968:	c9                   	leave
404969:	c2 04 00             	ret    $0x4
40496c:	55                   	push   %ebp
40496d:	8b ec                	mov    %esp,%ebp
40496f:	53                   	push   %ebx
404970:	56                   	push   %esi
404971:	8b 75 08             	mov    0x8(%ebp),%esi
404974:	57                   	push   %edi
404975:	8b da                	mov    %edx,%ebx
404977:	8b f9                	mov    %ecx,%edi
404979:	eb 07                	jmp    0x404982
40497b:	8b cf                	mov    %edi,%ecx
40497d:	ff 55 0c             	call   *0xc(%ebp)
404980:	03 fb                	add    %ebx,%edi
404982:	4e                   	dec    %esi
404983:	79 f6                	jns    0x40497b
404985:	5f                   	pop    %edi
404986:	5e                   	pop    %esi
404987:	5b                   	pop    %ebx
404988:	5d                   	pop    %ebp
404989:	c2 08 00             	ret    $0x8
40498c:	33 c0                	xor    %eax,%eax
40498e:	89 41 04             	mov    %eax,0x4(%ecx)
404991:	89 41 08             	mov    %eax,0x8(%ecx)
404994:	89 41 0c             	mov    %eax,0xc(%ecx)
404997:	c7 01 b4 dd 49 00    	movl   $0x49ddb4,(%ecx)
40499d:	8b c1                	mov    %ecx,%eax
40499f:	c3                   	ret
4049a0:	55                   	push   %ebp
4049a1:	8b ec                	mov    %esp,%ebp
4049a3:	83 ec 14             	sub    $0x14,%esp
4049a6:	56                   	push   %esi
4049a7:	57                   	push   %edi
4049a8:	8b f9                	mov    %ecx,%edi
4049aa:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4049ad:	e8 45 8e 00 00       	call   0x40d7f7
4049b2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4049b5:	8d 55 ec             	lea    -0x14(%ebp),%edx
4049b8:	e8 52 1c 00 00       	call   0x40660f
4049bd:	33 f6                	xor    %esi,%esi
4049bf:	39 77 20             	cmp    %esi,0x20(%edi)
4049c2:	0f 87 6d e4 06 00    	ja     0x472e35
4049c8:	8d 45 ec             	lea    -0x14(%ebp),%eax
4049cb:	50                   	push   %eax
4049cc:	8d 4f 18             	lea    0x18(%edi),%ecx
4049cf:	e8 fb 1a 00 00       	call   0x4064cf
4049d4:	8d 45 08             	lea    0x8(%ebp),%eax
4049d7:	50                   	push   %eax
4049d8:	8d 4f 28             	lea    0x28(%edi),%ecx
4049db:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
4049e2:	e8 bf de ff ff       	call   0x4028a6
4049e7:	8b 77 20             	mov    0x20(%edi),%esi
4049ea:	4e                   	dec    %esi
4049eb:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4049ee:	e8 44 81 00 00       	call   0x40cb37
4049f3:	5f                   	pop    %edi
4049f4:	8b c6                	mov    %esi,%eax
4049f6:	5e                   	pop    %esi
4049f7:	c9                   	leave
4049f8:	c2 04 00             	ret    $0x4
4049fb:	55                   	push   %ebp
4049fc:	8b ec                	mov    %esp,%ebp
4049fe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404a01:	83 ec 10             	sub    $0x10,%esp
404a04:	53                   	push   %ebx
404a05:	e8 c4 72 00 00       	call   0x40bcce
404a0a:	8d 45 f8             	lea    -0x8(%ebp),%eax
404a0d:	50                   	push   %eax
404a0e:	6a 01                	push   $0x1
404a10:	33 db                	xor    %ebx,%ebx
404a12:	53                   	push   %ebx
404a13:	68 7c dc 49 00       	push   $0x49dc7c
404a18:	68 01 00 00 80       	push   $0x80000001
404a1d:	ff 15 20 d0 48 00    	call   *0x48d020
404a23:	85 c0                	test   %eax,%eax
404a25:	0f 84 a1 f7 06 00    	je     0x4741cc
404a2b:	32 c0                	xor    %al,%al
404a2d:	5b                   	pop    %ebx
404a2e:	c9                   	leave
404a2f:	c3                   	ret
404a30:	55                   	push   %ebp
404a31:	8b ec                	mov    %esp,%ebp
404a33:	83 e4 f8             	and    $0xfffffff8,%esp
404a36:	b8 34 00 01 00       	mov    $0x10034,%eax
404a3b:	e8 60 ae 02 00       	call   0x42f8a0
404a40:	8b 45 08             	mov    0x8(%ebp),%eax
404a43:	53                   	push   %ebx
404a44:	33 db                	xor    %ebx,%ebx
404a46:	56                   	push   %esi
404a47:	a3 04 21 4c 00       	mov    %eax,0x4c2104
404a4c:	b8 04 dc 49 00       	mov    $0x49dc04,%eax
404a51:	57                   	push   %edi
404a52:	8d 4c 24 10          	lea    0x10(%esp),%ecx
404a56:	66 89 1d 00 21 4c 00 	mov    %bx,0x4c2100
404a5d:	88 1d 02 21 4c 00    	mov    %bl,0x4c2102
404a63:	89 1d 08 21 4c 00    	mov    %ebx,0x4c2108
404a69:	89 1d 0c 21 4c 00    	mov    %ebx,0x4c210c
404a6f:	89 1d 10 21 4c 00    	mov    %ebx,0x4c2110
404a75:	89 1d 14 21 4c 00    	mov    %ebx,0x4c2114
404a7b:	a3 18 21 4c 00       	mov    %eax,0x4c2118
404a80:	89 1d 1c 21 4c 00    	mov    %ebx,0x4c211c
404a86:	89 1d 20 21 4c 00    	mov    %ebx,0x4c2120
404a8c:	89 1d 24 21 4c 00    	mov    %ebx,0x4c2124
404a92:	c7 05 28 21 4c 00 b8 	movl   $0x49ddb8,0x4c2128
404a99:	dd 49 00
404a9c:	89 1d 2c 21 4c 00    	mov    %ebx,0x4c212c
404aa2:	89 1d 30 21 4c 00    	mov    %ebx,0x4c2130
404aa8:	89 1d 34 21 4c 00    	mov    %ebx,0x4c2134
404aae:	a3 38 21 4c 00       	mov    %eax,0x4c2138
404ab3:	89 1d 3c 21 4c 00    	mov    %ebx,0x4c213c
404ab9:	89 1d 40 21 4c 00    	mov    %ebx,0x4c2140
404abf:	89 1d 44 21 4c 00    	mov    %ebx,0x4c2144
404ac5:	89 1d 4c 21 4c 00    	mov    %ebx,0x4c214c
404acb:	c7 05 50 21 4c 00 c4 	movl   $0x4b26c4,0x4c2150
404ad2:	26 4b 00
404ad5:	89 1d 54 21 4c 00    	mov    %ebx,0x4c2154
404adb:	89 1d 58 21 4c 00    	mov    %ebx,0x4c2158
404ae1:	89 1d 5c 21 4c 00    	mov    %ebx,0x4c215c
404ae7:	c7 05 60 21 4c 00 66 	movl   $0x66,0x4c2160
404aee:	00 00 00
404af1:	e8 01 8d 00 00       	call   0x40d7f7
404af6:	8d 4c 24 10          	lea    0x10(%esp),%ecx