4048fd:	8d 7e 0c             	lea    0xc(%esi),%edi
404900:	6a 00                	push   $0x0
404902:	8a 03                	mov    (%ebx),%al
404904:	8b cf                	mov    %edi,%ecx
404906:	88 07                	mov    %al,(%edi)
404908:	e8 d1 ec ff ff       	call   0x4035de
40490d:	ff 35 68 d2 40 00    	push   0x40d268
404913:	8b cf                	mov    %edi,%ecx
404915:	6a 00                	push   $0x0
404917:	53                   	push   %ebx
404918:	e8 e5 02 00 00       	call   0x404c02
40491d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404920:	c7 06 58 d3 40 00    	movl   $0x40d358,(%esi)
404926:	8b c6                	mov    %esi,%eax
404928:	5f                   	pop    %edi
404929:	5e                   	pop    %esi
40492a:	5b                   	pop    %ebx
40492b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404932:	c9                   	leave
404933:	c2 04 00             	ret    $0x4
404936:	8b 41 10             	mov    0x10(%ecx),%eax
404939:	85 c0                	test   %eax,%eax
40493b:	75 05                	jne    0x404942
40493d:	b8 68 d3 40 00       	mov    $0x40d368,%eax
404942:	c3                   	ret
404943:	55                   	push   %ebp
404944:	8b ec                	mov    %esp,%ebp
404946:	83 ec 1c             	sub    $0x1c,%esp
404949:	51                   	push   %ecx
40494a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40494d:	e8 67 00 00 00       	call   0x4049b9
404952:	8d 45 e4             	lea    -0x1c(%ebp),%eax
404955:	68 48 e4 40 00       	push   $0x40e448
40495a:	50                   	push   %eax
40495b:	e8 3d 25 00 00       	call   0x406e9d
404960:	b8 08 c7 40 00       	mov    $0x40c708,%eax
404965:	e8 d6 13 00 00       	call   0x405d40
40496a:	51                   	push   %ecx
40496b:	56                   	push   %esi
40496c:	8b f1                	mov    %ecx,%esi
40496e:	89 75 f0             	mov    %esi,-0x10(%ebp)
404971:	c7 06 58 d3 40 00    	movl   $0x40d358,(%esi)
404977:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40497b:	6a 01                	push   $0x1
40497d:	8d 4e 0c             	lea    0xc(%esi),%ecx
404980:	e8 59 ec ff ff       	call   0x4035de
404985:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404989:	8b ce                	mov    %esi,%ecx
40498b:	e8 ea 24 00 00       	call   0x406e7a
404990:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404993:	5e                   	pop    %esi
404994:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40499b:	c9                   	leave
40499c:	c3                   	ret
40499d:	56                   	push   %esi
40499e:	8b f1                	mov    %ecx,%esi
4049a0:	e8 bb ff ff ff       	call   0x404960
4049a5:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4049aa:	74 07                	je     0x4049b3
4049ac:	56                   	push   %esi
4049ad:	e8 cf 05 00 00       	call   0x404f81
4049b2:	59                   	pop    %ecx
4049b3:	8b c6                	mov    %esi,%eax
4049b5:	5e                   	pop    %esi
4049b6:	c2 04 00             	ret    $0x4
4049b9:	b8 1c c7 40 00       	mov    $0x40c71c,%eax
4049be:	e8 7d 13 00 00       	call   0x405d40
4049c3:	51                   	push   %ecx
4049c4:	53                   	push   %ebx
4049c5:	8b 5d 08             	mov    0x8(%ebp),%ebx
4049c8:	56                   	push   %esi
4049c9:	57                   	push   %edi
4049ca:	8b f1                	mov    %ecx,%esi
4049cc:	53                   	push   %ebx
4049cd:	89 75 f0             	mov    %esi,-0x10(%ebp)
4049d0:	e8 5b 24 00 00       	call   0x406e30
4049d5:	8a 43 0c             	mov    0xc(%ebx),%al
4049d8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4049dc:	83 c3 0c             	add    $0xc,%ebx
4049df:	8d 7e 0c             	lea    0xc(%esi),%edi
4049e2:	6a 00                	push   $0x0
4049e4:	8b cf                	mov    %edi,%ecx
4049e6:	88 07                	mov    %al,(%edi)
4049e8:	e8 f1 eb ff ff       	call   0x4035de
4049ed:	ff 35 68 d2 40 00    	push   0x40d268
4049f3:	8b cf                	mov    %edi,%ecx
4049f5:	6a 00                	push   $0x0
4049f7:	53                   	push   %ebx
4049f8:	e8 05 02 00 00       	call   0x404c02
4049fd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404a00:	c7 06 58 d3 40 00    	movl   $0x40d358,(%esi)
404a06:	8b c6                	mov    %esi,%eax
404a08:	5f                   	pop    %edi
404a09:	5e                   	pop    %esi
404a0a:	5b                   	pop    %ebx
404a0b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404a12:	c9                   	leave
404a13:	c2 04 00             	ret    $0x4
404a16:	b8 30 c7 40 00       	mov    $0x40c730,%eax
404a1b:	e8 20 13 00 00       	call   0x405d40
404a20:	51                   	push   %ecx
404a21:	56                   	push   %esi
404a22:	8b f1                	mov    %ecx,%esi
404a24:	89 75 f0             	mov    %esi,-0x10(%ebp)
404a27:	c7 06 58 d3 40 00    	movl   $0x40d358,(%esi)
404a2d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404a31:	6a 01                	push   $0x1
404a33:	8d 4e 0c             	lea    0xc(%esi),%ecx
404a36:	e8 a3 eb ff ff       	call   0x4035de
404a3b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404a3f:	8b ce                	mov    %esi,%ecx
404a41:	e8 34 24 00 00       	call   0x406e7a
404a46:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404a49:	5e                   	pop    %esi
404a4a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404a51:	c9                   	leave
404a52:	c3                   	ret
404a53:	55                   	push   %ebp
404a54:	8b ec                	mov    %esp,%ebp
404a56:	83 ec 1c             	sub    $0x1c,%esp
404a59:	51                   	push   %ecx
404a5a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
404a5d:	e8 2a 00 00 00       	call   0x404a8c
404a62:	8d 45 e4             	lea    -0x1c(%ebp),%eax
404a65:	68 d8 e3 40 00       	push   $0x40e3d8
404a6a:	50                   	push   %eax
404a6b:	e8 2d 24 00 00       	call   0x406e9d
404a70:	56                   	push   %esi
404a71:	8b f1                	mov    %ecx,%esi
404a73:	e8 9e ff ff ff       	call   0x404a16
404a78:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
404a7d:	74 07                	je     0x404a86
404a7f:	56                   	push   %esi
404a80:	e8 fc 04 00 00       	call   0x404f81
404a85:	59                   	pop    %ecx
404a86:	8b c6                	mov    %esi,%eax
404a88:	5e                   	pop    %esi
404a89:	c2 04 00             	ret    $0x4
404a8c:	56                   	push   %esi
404a8d:	8b f1                	mov    %ecx,%esi
404a8f:	ff 74 24 08          	push   0x8(%esp)
404a93:	e8 21 ff ff ff       	call   0x4049b9
404a98:	c7 06 14 d3 40 00    	movl   $0x40d314,(%esi)
404a9e:	8b c6                	mov    %esi,%eax
404aa0:	5e                   	pop    %esi
404aa1:	c2 04 00             	ret    $0x4
404aa4:	b8 47 c7 40 00       	mov    $0x40c747,%eax
404aa9:	e8 92 12 00 00       	call   0x405d40
404aae:	51                   	push   %ecx
404aaf:	56                   	push   %esi
404ab0:	8b f1                	mov    %ecx,%esi
404ab2:	89 75 f0             	mov    %esi,-0x10(%ebp)
404ab5:	c7 06 70 d3 40 00    	movl   $0x40d370,(%esi)
404abb:	8b 46 24             	mov    0x24(%esi),%eax
404abe:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404ac2:	85 c0                	test   %eax,%eax
404ac4:	76 12                	jbe    0x404ad8
404ac6:	fe 88 a4 17 41 00    	decb   0x4117a4(%eax)
404acc:	8b 46 24             	mov    0x24(%esi),%eax
404acf:	80 b8 a4 17 41 00 00 	cmpb   $0x0,0x4117a4(%eax)
404ad6:	7f 07                	jg     0x404adf
404ad8:	8b ce                	mov    %esi,%ecx
404ada:	e8 d9 00 00 00       	call   0x404bb8
404adf:	8d 4e 20             	lea    0x20(%esi),%ecx
404ae2:	e8 c1 e3 ff ff       	call   0x402ea8
404ae7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404aea:	5e                   	pop    %esi
404aeb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404af2:	c9                   	leave
404af3:	c3                   	ret
404af4:	56                   	push   %esi
404af5:	8b f1                	mov    %ecx,%esi
404af7:	e8 a8 ff ff ff       	call   0x404aa4
404afc:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
404b01:	74 07                	je     0x404b0a
404b03:	56                   	push   %esi
404b04:	e8 78 04 00 00       	call   0x404f81
404b09:	59                   	pop    %ecx
404b0a:	8b c6                	mov    %esi,%eax
404b0c:	5e                   	pop    %esi
404b0d:	c2 04 00             	ret    $0x4
404b10:	56                   	push   %esi
404b11:	57                   	push   %edi
404b12:	8b f9                	mov    %ecx,%edi
404b14:	8b 77 1c             	mov    0x1c(%edi),%esi
404b17:	85 f6                	test   %esi,%esi
404b19:	74 12                	je     0x404b2d
404b1b:	ff 76 04             	push   0x4(%esi)
404b1e:	57                   	push   %edi
404b1f:	ff 74 24 14          	push   0x14(%esp)
404b23:	ff 56 08             	call   *0x8(%esi)
404b26:	8b 36                	mov    (%esi),%esi
404b28:	83 c4 0c             	add    $0xc,%esp
404b2b:	eb ea                	jmp    0x404b17
404b2d:	5f                   	pop    %edi
404b2e:	5e                   	pop    %esi
404b2f:	c2 04 00             	ret    $0x4
404b32:	55                   	push   %ebp
404b33:	8b ec                	mov    %esp,%ebp
404b35:	51                   	push   %ecx
404b36:	56                   	push   %esi
404b37:	8b f1                	mov    %ecx,%esi
404b39:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404b3c:	e8 44 fc ff ff       	call   0x404785
404b41:	83 7e 24 08          	cmpl   $0x8,0x24(%esi)
404b45:	73 1b                	jae    0x404b62
404b47:	8b 46 24             	mov    0x24(%esi),%eax
404b4a:	8b 0c 85 80 17 41 00 	mov    0x411780(,%eax,4),%ecx
404b51:	85 c9                	test   %ecx,%ecx
404b53:	74 0d                	je     0x404b62
404b55:	3b ce                	cmp    %esi,%ecx
404b57:	74 09                	je     0x404b62
404b59:	40                   	inc    %eax
404b5a:	83 f8 08             	cmp    $0x8,%eax
404b5d:	89 46 24             	mov    %eax,0x24(%esi)
404b60:	72 e5                	jb     0x404b47
404b62:	8b 46 24             	mov    0x24(%esi),%eax
404b65:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404b68:	89 34 85 80 17 41 00 	mov    %esi,0x411780(,%eax,4)
404b6f:	8b 76 24             	mov    0x24(%esi),%esi
404b72:	fe 86 a4 17 41 00    	incb   0x4117a4(%esi)
404b78:	e8 a4 fc ff ff       	call   0x404821
404b7d:	5e                   	pop    %esi
404b7e:	c9                   	leave
404b7f:	c3                   	ret
404b80:	56                   	push   %esi
404b81:	8b f1                	mov    %ecx,%esi
404b83:	57                   	push   %edi
404b84:	33 ff                	xor    %edi,%edi
404b86:	8d 4e 20             	lea    0x20(%esi),%ecx
404b89:	3b cf                	cmp    %edi,%ecx
404b8b:	74 05                	je     0x404b92
404b8d:	e8 c2 e2 ff ff       	call   0x402e54
404b92:	57                   	push   %edi
404b93:	57                   	push   %edi
404b94:	8b ce                	mov    %esi,%ecx
404b96:	89 7e 08             	mov    %edi,0x8(%esi)
404b99:	c7 46 0c 01 02 00 00 	movl   $0x201,0xc(%esi)
404ba0:	c7 46 10 06 00 00 00 	movl   $0x6,0x10(%esi)
404ba7:	89 7e 14             	mov    %edi,0x14(%esi)
404baa:	89 7e 18             	mov    %edi,0x18(%esi)
404bad:	89 7e 1c             	mov    %edi,0x1c(%esi)
404bb0:	e8 81 fc ff ff       	call   0x404836
404bb5:	5f                   	pop    %edi
404bb6:	5e                   	pop    %esi
404bb7:	c3                   	ret
404bb8:	56                   	push   %esi
404bb9:	57                   	push   %edi
404bba:	8b f1                	mov    %ecx,%esi
404bbc:	6a 00                	push   $0x0
404bbe:	e8 4d ff ff ff       	call   0x404b10
404bc3:	8b 46 18             	mov    0x18(%esi),%eax
404bc6:	85 c0                	test   %eax,%eax
404bc8:	74 0f                	je     0x404bd9
404bca:	8b 38                	mov    (%eax),%edi
404bcc:	50                   	push   %eax
404bcd:	e8 af 03 00 00       	call   0x404f81
404bd2:	85 ff                	test   %edi,%edi
404bd4:	59                   	pop    %ecx
404bd5:	8b c7                	mov    %edi,%eax
404bd7:	75 f1                	jne    0x404bca
404bd9:	8b 46 1c             	mov    0x1c(%esi),%eax
404bdc:	83 66 18 00          	andl   $0x0,0x18(%esi)
404be0:	85 c0                	test   %eax,%eax
404be2:	74 0f                	je     0x404bf3
404be4:	8b 38                	mov    (%eax),%edi
404be6:	50                   	push   %eax
404be7:	e8 95 03 00 00       	call   0x404f81
404bec:	85 ff                	test   %edi,%edi
404bee:	59                   	pop    %ecx
404bef:	8b c7                	mov    %edi,%eax
404bf1:	75 f1                	jne    0x404be4
404bf3:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
404bf7:	5f                   	pop    %edi
404bf8:	5e                   	pop    %esi
404bf9:	c3                   	ret
404bfa:	6a 01                	push   $0x1
404bfc:	e8 dd e9 ff ff       	call   0x4035de
404c01:	c3                   	ret
404c02:	55                   	push   %ebp
404c03:	8b ec                	mov    %esp,%ebp
404c05:	8b 45 0c             	mov    0xc(%ebp),%eax
404c08:	53                   	push   %ebx
404c09:	8b 5d 08             	mov    0x8(%ebp),%ebx
404c0c:	56                   	push   %esi
404c0d:	57                   	push   %edi
404c0e:	8b f9                	mov    %ecx,%edi
404c10:	39 43 08             	cmp    %eax,0x8(%ebx)
404c13:	73 05                	jae    0x404c1a
404c15:	e8 91 05 00 00       	call   0x4051ab
404c1a:	8b 43 08             	mov    0x8(%ebx),%eax
404c1d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404c20:	8b f0                	mov    %eax,%esi
404c22:	2b f1                	sub    %ecx,%esi
404c24:	39 75 10             	cmp    %esi,0x10(%ebp)
404c27:	73 03                	jae    0x404c2c
404c29:	8b 75 10             	mov    0x10(%ebp),%esi
404c2c:	3b fb                	cmp    %ebx,%edi
404c2e:	75 1e                	jne    0x404c4e
404c30:	ff 35 68 d2 40 00    	push   0x40d268
404c36:	03 f1                	add    %ecx,%esi
404c38:	8b cf                	mov    %edi,%ecx
404c3a:	56                   	push   %esi
404c3b:	e8 37 e9 ff ff       	call   0x403577
404c40:	ff 75 0c             	push   0xc(%ebp)
404c43:	8b cf                	mov    %edi,%ecx
404c45:	6a 00                	push   $0x0
404c47:	e8 2b e9 ff ff       	call   0x403577
404c4c:	eb 79                	jmp    0x404cc7
404c4e:	85 f6                	test   %esi,%esi
404c50:	76 3f                	jbe    0x404c91
404c52:	3b f0                	cmp    %eax,%esi
404c54:	75 3b                	jne    0x404c91
404c56:	8b 43 04             	mov    0x4(%ebx),%eax
404c59:	85 c0                	test   %eax,%eax
404c5b:	75 05                	jne    0x404c62
404c5d:	b8 68 d3 40 00       	mov    $0x40d368,%eax
404c62:	80 78 ff fe          	cmpb   $0xfe,-0x1(%eax)
404c66:	73 29                	jae    0x404c91
404c68:	6a 01                	push   $0x1
404c6a:	8b cf                	mov    %edi,%ecx
404c6c:	e8 6d e9 ff ff       	call   0x4035de
404c71:	8b 43 04             	mov    0x4(%ebx),%eax
404c74:	85 c0                	test   %eax,%eax
404c76:	75 05                	jne    0x404c7d
404c78:	b8 68 d3 40 00       	mov    $0x40d368,%eax
404c7d:	89 47 04             	mov    %eax,0x4(%edi)
404c80:	8b 4b 08             	mov    0x8(%ebx),%ecx
404c83:	89 4f 08             	mov    %ecx,0x8(%edi)
404c86:	8b 4b 0c             	mov    0xc(%ebx),%ecx
404c89:	89 4f 0c             	mov    %ecx,0xc(%edi)
404c8c:	fe 40 ff             	incb   -0x1(%eax)
404c8f:	eb 36                	jmp    0x404cc7
404c91:	6a 01                	push   $0x1
404c93:	56                   	push   %esi
404c94:	8b cf                	mov    %edi,%ecx
404c96:	e8 f4 ea ff ff       	call   0x40378f
404c9b:	84 c0                	test   %al,%al
404c9d:	74 28                	je     0x404cc7
404c9f:	8b 43 04             	mov    0x4(%ebx),%eax
404ca2:	85 c0                	test   %eax,%eax
404ca4:	75 05                	jne    0x404cab
404ca6:	b8 68 d3 40 00       	mov    $0x40d368,%eax
404cab:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404cae:	56                   	push   %esi
404caf:	03 c1                	add    %ecx,%eax
404cb1:	50                   	push   %eax
404cb2:	ff 77 04             	push   0x4(%edi)
404cb5:	e8 a6 10 00 00       	call   0x405d60
404cba:	8b 47 04             	mov    0x4(%edi),%eax