406bfb:	52                   	push   %edx
406bfc:	c7 44 24 34 04 01 00 	movl   $0x104,0x34(%esp)
406c03:	00
406c04:	ff d5                	call   *%ebp
406c06:	8b f0                	mov    %eax,%esi
406c08:	81 fe 03 01 00 00    	cmp    $0x103,%esi
406c0e:	0f 84 92 00 00 00    	je     0x406ca6
406c14:	85 f6                	test   %esi,%esi
406c16:	0f 85 b4 01 00 00    	jne    0x406dd0
406c1c:	8b 84 24 3c 04 00 00 	mov    0x43c(%esp),%eax
406c23:	85 c0                	test   %eax,%eax
406c25:	74 28                	je     0x406c4f
406c27:	8b 70 04             	mov    0x4(%eax),%esi
406c2a:	85 f6                	test   %esi,%esi
406c2c:	74 21                	je     0x406c4f
406c2e:	8b ff                	mov    %edi,%edi
406c30:	8b 46 14             	mov    0x14(%esi),%eax
406c33:	50                   	push   %eax
406c34:	8d 4c 24 24          	lea    0x24(%esp),%ecx
406c38:	51                   	push   %ecx
406c39:	e8 59 c9 02 00       	call   0x433597
406c3e:	83 c4 08             	add    $0x8,%esp
406c41:	85 c0                	test   %eax,%eax
406c43:	0f 84 1a 01 00 00    	je     0x406d63
406c49:	8b 36                	mov    (%esi),%esi
406c4b:	85 f6                	test   %esi,%esi
406c4d:	75 e1                	jne    0x406c30
406c4f:	33 ff                	xor    %edi,%edi
406c51:	8b 44 24 10          	mov    0x10(%esp),%eax
406c55:	57                   	push   %edi
406c56:	8d 54 24 24          	lea    0x24(%esp),%edx
406c5a:	52                   	push   %edx
406c5b:	50                   	push   %eax
406c5c:	e8 ef fe ff ff       	call   0x406b50
406c61:	8b f0                	mov    %eax,%esi
406c63:	83 c4 0c             	add    $0xc,%esp
406c66:	85 f6                	test   %esi,%esi
406c68:	0f 85 62 01 00 00    	jne    0x406dd0
406c6e:	85 ff                	test   %edi,%edi
406c70:	74 01                	je     0x406c73
406c72:	43                   	inc    %ebx
406c73:	8d 4c 24 18          	lea    0x18(%esp),%ecx
406c77:	51                   	push   %ecx
406c78:	8b 4c 24 14          	mov    0x14(%esp),%ecx
406c7c:	6a 00                	push   $0x0
406c7e:	6a 00                	push   $0x0
406c80:	6a 00                	push   $0x0
406c82:	8d 54 24 24          	lea    0x24(%esp),%edx
406c86:	52                   	push   %edx
406c87:	8d 44 24 34          	lea    0x34(%esp),%eax
406c8b:	50                   	push   %eax
406c8c:	53                   	push   %ebx
406c8d:	51                   	push   %ecx
406c8e:	c7 44 24 34 04 01 00 	movl   $0x104,0x34(%esp)
406c95:	00
406c96:	ff d5                	call   *%ebp
406c98:	8b f0                	mov    %eax,%esi
406c9a:	81 fe 03 01 00 00    	cmp    $0x103,%esi
406ca0:	0f 85 6e ff ff ff    	jne    0x406c14
406ca6:	33 f6                	xor    %esi,%esi
406ca8:	39 b4 24 3c 04 00 00 	cmp    %esi,0x43c(%esp)
406caf:	0f 84 e4 00 00 00    	je     0x406d99
406cb5:	8b 4c 24 10          	mov    0x10(%esp),%ecx
406cb9:	8b 1d ac 33 47 00    	mov    0x4733ac,%ebx
406cbf:	33 ff                	xor    %edi,%edi
406cc1:	57                   	push   %edi
406cc2:	57                   	push   %edi
406cc3:	57                   	push   %edi
406cc4:	57                   	push   %edi
406cc5:	8d 54 24 24          	lea    0x24(%esp),%edx
406cc9:	52                   	push   %edx
406cca:	8d 44 24 34          	lea    0x34(%esp),%eax
406cce:	50                   	push   %eax
406ccf:	57                   	push   %edi
406cd0:	bd 04 01 00 00       	mov    $0x104,%ebp
406cd5:	51                   	push   %ecx
406cd6:	89 6c 24 34          	mov    %ebp,0x34(%esp)
406cda:	ff d3                	call   *%ebx
406cdc:	8b f0                	mov    %eax,%esi
406cde:	81 fe 03 01 00 00    	cmp    $0x103,%esi
406ce4:	0f 84 ad 00 00 00    	je     0x406d97
406cea:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
406cf0:	85 f6                	test   %esi,%esi
406cf2:	0f 85 d8 00 00 00    	jne    0x406dd0
406cf8:	8b 94 24 3c 04 00 00 	mov    0x43c(%esp),%edx
406cff:	8b 72 0c             	mov    0xc(%edx),%esi
406d02:	85 f6                	test   %esi,%esi
406d04:	74 1b                	je     0x406d21
406d06:	8b 46 04             	mov    0x4(%esi),%eax
406d09:	50                   	push   %eax
406d0a:	8d 4c 24 24          	lea    0x24(%esp),%ecx
406d0e:	51                   	push   %ecx
406d0f:	e8 83 c8 02 00       	call   0x433597
406d14:	83 c4 08             	add    $0x8,%esp
406d17:	85 c0                	test   %eax,%eax
406d19:	74 4f                	je     0x406d6a
406d1b:	8b 36                	mov    (%esi),%esi
406d1d:	85 f6                	test   %esi,%esi
406d1f:	75 e5                	jne    0x406d06
406d21:	8b 94 24 3c 04 00 00 	mov    0x43c(%esp),%edx
406d28:	52                   	push   %edx
406d29:	8d 44 24 24          	lea    0x24(%esp),%eax
406d2d:	50                   	push   %eax
406d2e:	e8 6d f2 ff ff       	call   0x405fa0
406d33:	83 c4 08             	add    $0x8,%esp
406d36:	85 c0                	test   %eax,%eax
406d38:	74 11                	je     0x406d4b
406d3a:	8d 4c 24 20          	lea    0x20(%esp),%ecx
406d3e:	51                   	push   %ecx
406d3f:	e8 5c fa ff ff       	call   0x4067a0
406d44:	83 c4 04             	add    $0x4,%esp
406d47:	85 c0                	test   %eax,%eax
406d49:	75 1f                	jne    0x406d6a
406d4b:	8b 44 24 10          	mov    0x10(%esp),%eax
406d4f:	8d 54 24 20          	lea    0x20(%esp),%edx
406d53:	52                   	push   %edx
406d54:	50                   	push   %eax
406d55:	ff 15 b0 33 47 00    	call   *0x4733b0
406d5b:	8b f0                	mov    %eax,%esi
406d5d:	85 f6                	test   %esi,%esi
406d5f:	75 6f                	jne    0x406dd0
406d61:	eb 08                	jmp    0x406d6b
406d63:	8b fe                	mov    %esi,%edi
406d65:	e9 e7 fe ff ff       	jmp    0x406c51
406d6a:	47                   	inc    %edi
406d6b:	8b 44 24 10          	mov    0x10(%esp),%eax
406d6f:	6a 00                	push   $0x0
406d71:	6a 00                	push   $0x0
406d73:	6a 00                	push   $0x0
406d75:	6a 00                	push   $0x0
406d77:	8d 4c 24 24          	lea    0x24(%esp),%ecx
406d7b:	51                   	push   %ecx
406d7c:	8d 54 24 34          	lea    0x34(%esp),%edx
406d80:	52                   	push   %edx
406d81:	57                   	push   %edi
406d82:	50                   	push   %eax
406d83:	89 6c 24 34          	mov    %ebp,0x34(%esp)
406d87:	ff d3                	call   *%ebx
406d89:	8b f0                	mov    %eax,%esi
406d8b:	81 fe 03 01 00 00    	cmp    $0x103,%esi
406d91:	0f 85 59 ff ff ff    	jne    0x406cf0
406d97:	33 f6                	xor    %esi,%esi
406d99:	8b 4c 24 10          	mov    0x10(%esp),%ecx
406d9d:	51                   	push   %ecx
406d9e:	ff 15 68 33 47 00    	call   *0x473368
406da4:	83 bc 24 3c 04 00 00 	cmpl   $0x0,0x43c(%esp)
406dab:	00
406dac:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
406db3:	00
406db4:	75 29                	jne    0x406ddf
406db6:	8b 94 24 38 04 00 00 	mov    0x438(%esp),%edx
406dbd:	8b 84 24 34 04 00 00 	mov    0x434(%esp),%eax
406dc4:	52                   	push   %edx
406dc5:	50                   	push   %eax
406dc6:	e8 95 c1 ff ff       	call   0x402f60
406dcb:	83 c4 08             	add    $0x8,%esp
406dce:	8b f0                	mov    %eax,%esi
406dd0:	8b 44 24 10          	mov    0x10(%esp),%eax
406dd4:	85 c0                	test   %eax,%eax
406dd6:	74 07                	je     0x406ddf
406dd8:	50                   	push   %eax
406dd9:	ff 15 68 33 47 00    	call   *0x473368
406ddf:	5f                   	pop    %edi
406de0:	8b c6                	mov    %esi,%eax
406de2:	5e                   	pop    %esi
406de3:	5d                   	pop    %ebp
406de4:	5b                   	pop    %ebx
406de5:	81 c4 20 04 00 00    	add    $0x420,%esp
406deb:	c3                   	ret
406dec:	cc                   	int3
406ded:	cc                   	int3
406dee:	cc                   	int3
406def:	cc                   	int3
406df0:	8b 44 24 10          	mov    0x10(%esp),%eax
406df4:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
406df7:	8b 44 24 0c          	mov    0xc(%esp),%eax
406dfb:	8d 54 24 10          	lea    0x10(%esp),%edx
406dff:	52                   	push   %edx
406e00:	8b 54 24 08          	mov    0x8(%esp),%edx
406e04:	50                   	push   %eax
406e05:	6a 00                	push   $0x0
406e07:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
406e0b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
406e0f:	6a 00                	push   $0x0
406e11:	51                   	push   %ecx
406e12:	52                   	push   %edx
406e13:	ff 15 b4 33 47 00    	call   *0x4733b4
406e19:	c3                   	ret
406e1a:	cc                   	int3
406e1b:	cc                   	int3
406e1c:	cc                   	int3
406e1d:	cc                   	int3
406e1e:	cc                   	int3
406e1f:	cc                   	int3
406e20:	8b 54 24 0c          	mov    0xc(%esp),%edx
406e24:	85 d2                	test   %edx,%edx
406e26:	74 33                	je     0x406e5b
406e28:	8b c2                	mov    %edx,%eax
406e2a:	56                   	push   %esi
406e2b:	8d 70 02             	lea    0x2(%eax),%esi
406e2e:	8b ff                	mov    %edi,%edi
406e30:	66 8b 08             	mov    (%eax),%cx
406e33:	83 c0 02             	add    $0x2,%eax
406e36:	66 85 c9             	test   %cx,%cx
406e39:	75 f5                	jne    0x406e30
406e3b:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
406e3f:	2b c6                	sub    %esi,%eax
406e41:	d1 f8                	sar    $1,%eax
406e43:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
406e47:	50                   	push   %eax
406e48:	52                   	push   %edx
406e49:	8b 54 24 10          	mov    0x10(%esp),%edx
406e4d:	6a 01                	push   $0x1
406e4f:	6a 00                	push   $0x0
406e51:	51                   	push   %ecx
406e52:	52                   	push   %edx
406e53:	ff 15 b8 33 47 00    	call   *0x4733b8
406e59:	5e                   	pop    %esi
406e5a:	c3                   	ret
406e5b:	8b 44 24 08          	mov    0x8(%esp),%eax
406e5f:	8b 4c 24 04          	mov    0x4(%esp),%ecx
406e63:	50                   	push   %eax
406e64:	51                   	push   %ecx
406e65:	ff 15 b0 33 47 00    	call   *0x4733b0
406e6b:	c3                   	ret
406e6c:	cc                   	int3
406e6d:	cc                   	int3
406e6e:	cc                   	int3
406e6f:	cc                   	int3
406e70:	81 ec 08 02 00 00    	sub    $0x208,%esp
406e76:	53                   	push   %ebx
406e77:	56                   	push   %esi
406e78:	57                   	push   %edi
406e79:	8b bc 24 1c 02 00 00 	mov    0x21c(%esp),%edi
406e80:	57                   	push   %edi
406e81:	68 d4 c9 45 00       	push   $0x45c9d4
406e86:	8d 44 24 14          	lea    0x14(%esp),%eax
406e8a:	68 04 01 00 00       	push   $0x104
406e8f:	50                   	push   %eax
406e90:	e8 ca 97 02 00       	call   0x43065f
406e95:	8d 44 24 1c          	lea    0x1c(%esp),%eax
406e99:	83 c4 10             	add    $0x10,%esp
406e9c:	8d 50 02             	lea    0x2(%eax),%edx
406e9f:	90                   	nop
406ea0:	66 8b 08             	mov    (%eax),%cx
406ea3:	83 c0 02             	add    $0x2,%eax
406ea6:	66 85 c9             	test   %cx,%cx
406ea9:	75 f5                	jne    0x406ea0
406eab:	8b b4 24 20 02 00 00 	mov    0x220(%esp),%esi
406eb2:	2b c2                	sub    %edx,%eax
406eb4:	d1 f8                	sar    $1,%eax
406eb6:	6a 00                	push   $0x0
406eb8:	b9 04 01 00 00       	mov    $0x104,%ecx
406ebd:	2b c8                	sub    %eax,%ecx
406ebf:	51                   	push   %ecx
406ec0:	8d 54 44 14          	lea    0x14(%esp,%eax,2),%edx
406ec4:	52                   	push   %edx
406ec5:	56                   	push   %esi
406ec6:	e8 95 ee ff ff       	call   0x405d60
406ecb:	8b 9c 24 28 02 00 00 	mov    0x228(%esp),%ebx
406ed2:	83 c4 10             	add    $0x10,%esp
406ed5:	85 c0                	test   %eax,%eax
406ed7:	74 12                	je     0x406eeb
406ed9:	8d 44 24 0c          	lea    0xc(%esp),%eax
406edd:	53                   	push   %ebx
406ede:	50                   	push   %eax
406edf:	e8 bc f0 ff ff       	call   0x405fa0
406ee4:	83 c4 08             	add    $0x8,%esp
406ee7:	85 c0                	test   %eax,%eax
406ee9:	75 64                	jne    0x406f4f
406eeb:	57                   	push   %edi
406eec:	68 d4 c9 45 00       	push   $0x45c9d4
406ef1:	8d 4c 24 14          	lea    0x14(%esp),%ecx
406ef5:	68 04 01 00 00       	push   $0x104
406efa:	51                   	push   %ecx
406efb:	e8 5f 97 02 00       	call   0x43065f
406f00:	8d 44 24 1c          	lea    0x1c(%esp),%eax
406f04:	83 c4 10             	add    $0x10,%esp
406f07:	8d 50 02             	lea    0x2(%eax),%edx
406f0a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
406f10:	66 8b 08             	mov    (%eax),%cx
406f13:	83 c0 02             	add    $0x2,%eax
406f16:	66 85 c9             	test   %cx,%cx
406f19:	75 f5                	jne    0x406f10
406f1b:	2b c2                	sub    %edx,%eax
406f1d:	d1 f8                	sar    $1,%eax
406f1f:	6a 01                	push   $0x1
406f21:	ba 04 01 00 00       	mov    $0x104,%edx
406f26:	2b d0                	sub    %eax,%edx
406f28:	52                   	push   %edx
406f29:	8d 44 44 14          	lea    0x14(%esp,%eax,2),%eax
406f2d:	50                   	push   %eax
406f2e:	56                   	push   %esi
406f2f:	e8 2c ee ff ff       	call   0x405d60
406f34:	83 c4 10             	add    $0x10,%esp
406f37:	85 c0                	test   %eax,%eax
406f39:	74 12                	je     0x406f4d
406f3b:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
406f3f:	53                   	push   %ebx
406f40:	51                   	push   %ecx
406f41:	e8 5a f0 ff ff       	call   0x405fa0
406f46:	83 c4 08             	add    $0x8,%esp
406f49:	85 c0                	test   %eax,%eax
406f4b:	75 02                	jne    0x406f4f
406f4d:	33 c0                	xor    %eax,%eax
406f4f:	5f                   	pop    %edi
406f50:	5e                   	pop    %esi
406f51:	5b                   	pop    %ebx
406f52:	81 c4 08 02 00 00    	add    $0x208,%esp
406f58:	c3                   	ret
406f59:	cc                   	int3
406f5a:	cc                   	int3
406f5b:	cc                   	int3
406f5c:	cc                   	int3
406f5d:	cc                   	int3
406f5e:	cc                   	int3
406f5f:	cc                   	int3
406f60:	8b 44 24 04          	mov    0x4(%esp),%eax
406f64:	85 c0                	test   %eax,%eax
406f66:	75 01                	jne    0x406f69
406f68:	c3                   	ret
406f69:	56                   	push   %esi
406f6a:	8b 70 0c             	mov    0xc(%eax),%esi
406f6d:	85 f6                	test   %esi,%esi
406f6f:	74 2a                	je     0x406f9b
406f71:	8b 46 04             	mov    0x4(%esi),%eax
406f74:	68 e8 be 45 00       	push   $0x45bee8
406f79:	50                   	push   %eax
406f7a:	e8 18 c6 02 00       	call   0x433597
406f7f:	83 c4 08             	add    $0x8,%esp
406f82:	85 c0                	test   %eax,%eax
406f84:	74 0a                	je     0x406f90
406f86:	8b 36                	mov    (%esi),%esi
406f88:	85 f6                	test   %esi,%esi
406f8a:	75 e5                	jne    0x406f71
406f8c:	33 c0                	xor    %eax,%eax
406f8e:	5e                   	pop    %esi
406f8f:	c3                   	ret
406f90:	85 f6                	test   %esi,%esi
406f92:	74 07                	je     0x406f9b
406f94:	8b 76 08             	mov    0x8(%esi),%esi
406f97:	85 f6                	test   %esi,%esi
406f99:	75 04                	jne    0x406f9f
406f9b:	33 c0                	xor    %eax,%eax
406f9d:	5e                   	pop    %esi
406f9e:	c3                   	ret
406f9f:	56                   	push   %esi
406fa0:	e8 80 9b 02 00       	call   0x430b25
406fa5:	83 c4 04             	add    $0x4,%esp
406fa8:	c1 e8 04             	shr    $0x4,%eax