430c85:	8b ec                	mov    %esp,%ebp
430c87:	b8 ff ff 00 00       	mov    $0xffff,%eax
430c8c:	83 ec 14             	sub    $0x14,%esp
430c8f:	66 39 45 08          	cmp    %ax,0x8(%ebp)
430c93:	0f 84 87 00 00 00    	je     0x430d20
430c99:	53                   	push   %ebx
430c9a:	56                   	push   %esi
430c9b:	ff 75 0c             	push   0xc(%ebp)
430c9e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
430ca1:	e8 44 ff ff ff       	call   0x430bea
430ca6:	8b 75 ec             	mov    -0x14(%ebp),%esi
430ca9:	8b 4e 14             	mov    0x14(%esi),%ecx
430cac:	33 db                	xor    %ebx,%ebx
430cae:	3b cb                	cmp    %ebx,%ecx
430cb0:	75 15                	jne    0x430cc7
430cb2:	8b 45 08             	mov    0x8(%ebp),%eax
430cb5:	8d 48 bf             	lea    -0x41(%eax),%ecx
430cb8:	66 83 f9 19          	cmp    $0x19,%cx
430cbc:	77 04                	ja     0x430cc2
430cbe:	66 83 c0 20          	add    $0x20,%ax
430cc2:	0f b7 c0             	movzwl %ax,%eax
430cc5:	eb 4b                	jmp    0x430d12
430cc7:	b8 00 01 00 00       	mov    $0x100,%eax
430ccc:	6a 01                	push   $0x1
430cce:	66 39 45 08          	cmp    %ax,0x8(%ebp)
430cd2:	73 1e                	jae    0x430cf2
430cd4:	ff 75 08             	push   0x8(%ebp)
430cd7:	e8 09 1b 00 00       	call   0x4327e5
430cdc:	59                   	pop    %ecx
430cdd:	85 c0                	test   %eax,%eax
430cdf:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
430ce3:	59                   	pop    %ecx
430ce4:	74 2c                	je     0x430d12
430ce6:	8b 8e cc 00 00 00    	mov    0xcc(%esi),%ecx
430cec:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
430cf0:	eb 20                	jmp    0x430d12
430cf2:	8d 55 fc             	lea    -0x4(%ebp),%edx
430cf5:	52                   	push   %edx
430cf6:	6a 01                	push   $0x1
430cf8:	8d 55 08             	lea    0x8(%ebp),%edx
430cfb:	52                   	push   %edx
430cfc:	50                   	push   %eax
430cfd:	51                   	push   %ecx
430cfe:	e8 ed 87 00 00       	call   0x4394f0
430d03:	83 c4 18             	add    $0x18,%esp
430d06:	85 c0                	test   %eax,%eax
430d08:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
430d0c:	74 04                	je     0x430d12
430d0e:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
430d12:	38 5d f8             	cmp    %bl,-0x8(%ebp)
430d15:	74 07                	je     0x430d1e
430d17:	8b 4d f4             	mov    -0xc(%ebp),%ecx
430d1a:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
430d1e:	5e                   	pop    %esi
430d1f:	5b                   	pop    %ebx
430d20:	c9                   	leave
430d21:	c3                   	ret
430d22:	8b ff                	mov    %edi,%edi
430d24:	55                   	push   %ebp
430d25:	8b ec                	mov    %esp,%ebp
430d27:	6a 00                	push   $0x0
430d29:	ff 75 08             	push   0x8(%ebp)
430d2c:	e8 51 ff ff ff       	call   0x430c82
430d31:	59                   	pop    %ecx
430d32:	59                   	pop    %ecx
430d33:	5d                   	pop    %ebp
430d34:	c3                   	ret
430d35:	8b ff                	mov    %edi,%edi
430d37:	55                   	push   %ebp
430d38:	8b ec                	mov    %esp,%ebp
430d3a:	8b 45 08             	mov    0x8(%ebp),%eax
430d3d:	8b d0                	mov    %eax,%edx
430d3f:	66 8b 08             	mov    (%eax),%cx
430d42:	83 c0 02             	add    $0x2,%eax
430d45:	66 85 c9             	test   %cx,%cx
430d48:	75 f5                	jne    0x430d3f
430d4a:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
430d4e:	83 e8 02             	sub    $0x2,%eax
430d51:	3b c2                	cmp    %edx,%eax
430d53:	74 05                	je     0x430d5a
430d55:	66 39 08             	cmp    %cx,(%eax)
430d58:	75 f4                	jne    0x430d4e
430d5a:	66 39 08             	cmp    %cx,(%eax)
430d5d:	74 02                	je     0x430d61
430d5f:	33 c0                	xor    %eax,%eax
430d61:	5d                   	pop    %ebp
430d62:	c3                   	ret
430d63:	8b ff                	mov    %edi,%edi
430d65:	55                   	push   %ebp
430d66:	8b ec                	mov    %esp,%ebp
430d68:	8b 45 08             	mov    0x8(%ebp),%eax
430d6b:	53                   	push   %ebx
430d6c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
430d6f:	66 83 3b 00          	cmpw   $0x0,(%ebx)
430d73:	57                   	push   %edi
430d74:	8b f8                	mov    %eax,%edi
430d76:	74 43                	je     0x430dbb
430d78:	0f b7 08             	movzwl (%eax),%ecx
430d7b:	66 85 c9             	test   %cx,%cx
430d7e:	74 39                	je     0x430db9
430d80:	8b d1                	mov    %ecx,%edx
430d82:	2b c3                	sub    %ebx,%eax
430d84:	8b 4d 0c             	mov    0xc(%ebp),%ecx
430d87:	66 85 d2             	test   %dx,%dx
430d8a:	74 19                	je     0x430da5
430d8c:	0f b7 11             	movzwl (%ecx),%edx
430d8f:	66 85 d2             	test   %dx,%dx
430d92:	74 2b                	je     0x430dbf
430d94:	0f b7 1c 08          	movzwl (%eax,%ecx,1),%ebx
430d98:	2b da                	sub    %edx,%ebx
430d9a:	75 09                	jne    0x430da5
430d9c:	83 c1 02             	add    $0x2,%ecx
430d9f:	66 39 1c 08          	cmp    %bx,(%eax,%ecx,1)
430da3:	75 e7                	jne    0x430d8c
430da5:	66 83 39 00          	cmpw   $0x0,(%ecx)
430da9:	74 14                	je     0x430dbf
430dab:	83 c7 02             	add    $0x2,%edi
430dae:	0f b7 17             	movzwl (%edi),%edx
430db1:	83 c0 02             	add    $0x2,%eax
430db4:	66 85 d2             	test   %dx,%dx
430db7:	75 cb                	jne    0x430d84
430db9:	33 c0                	xor    %eax,%eax
430dbb:	5f                   	pop    %edi
430dbc:	5b                   	pop    %ebx
430dbd:	5d                   	pop    %ebp
430dbe:	c3                   	ret
430dbf:	8b c7                	mov    %edi,%eax
430dc1:	eb f8                	jmp    0x430dbb
430dc3:	8b ff                	mov    %edi,%edi
430dc5:	55                   	push   %ebp
430dc6:	8b ec                	mov    %esp,%ebp
430dc8:	83 ec 20             	sub    $0x20,%esp
430dcb:	53                   	push   %ebx
430dcc:	57                   	push   %edi
430dcd:	33 db                	xor    %ebx,%ebx
430dcf:	6a 07                	push   $0x7
430dd1:	33 c0                	xor    %eax,%eax
430dd3:	59                   	pop    %ecx
430dd4:	8d 7d e4             	lea    -0x1c(%ebp),%edi
430dd7:	89 5d e0             	mov    %ebx,-0x20(%ebp)
430dda:	f3 ab                	rep stos %eax,%es:(%edi)
430ddc:	39 5d 10             	cmp    %ebx,0x10(%ebp)
430ddf:	75 15                	jne    0x430df6
430de1:	e8 c2 3b 00 00       	call   0x4349a8
430de6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
430dec:	e8 7d 35 00 00       	call   0x43436e
430df1:	83 c8 ff             	or     $0xffffffff,%eax
430df4:	eb 75                	jmp    0x430e6b
430df6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
430df9:	56                   	push   %esi
430dfa:	8b 75 08             	mov    0x8(%ebp),%esi
430dfd:	3b cb                	cmp    %ebx,%ecx
430dff:	74 19                	je     0x430e1a
430e01:	3b f3                	cmp    %ebx,%esi
430e03:	75 15                	jne    0x430e1a
430e05:	e8 9e 3b 00 00       	call   0x4349a8
430e0a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
430e10:	e8 59 35 00 00       	call   0x43436e
430e15:	83 c8 ff             	or     $0xffffffff,%eax
430e18:	eb 50                	jmp    0x430e6a
430e1a:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
430e1f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
430e22:	3b c8                	cmp    %eax,%ecx
430e24:	77 03                	ja     0x430e29
430e26:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
430e29:	8d 45 14             	lea    0x14(%ebp),%eax
430e2c:	50                   	push   %eax
430e2d:	53                   	push   %ebx
430e2e:	ff 75 10             	push   0x10(%ebp)
430e31:	8d 45 e0             	lea    -0x20(%ebp),%eax
430e34:	50                   	push   %eax
430e35:	c7 45 ec 42 00 00 00 	movl   $0x42,-0x14(%ebp)
430e3c:	89 75 e8             	mov    %esi,-0x18(%ebp)
430e3f:	89 75 e0             	mov    %esi,-0x20(%ebp)
430e42:	e8 2b 45 00 00       	call   0x435372
430e47:	83 c4 10             	add    $0x10,%esp
430e4a:	8b f8                	mov    %eax,%edi
430e4c:	3b f3                	cmp    %ebx,%esi
430e4e:	74 1a                	je     0x430e6a
430e50:	ff 4d e4             	decl   -0x1c(%ebp)
430e53:	78 07                	js     0x430e5c
430e55:	8b 45 e0             	mov    -0x20(%ebp),%eax
430e58:	88 18                	mov    %bl,(%eax)
430e5a:	eb 0c                	jmp    0x430e68
430e5c:	8d 45 e0             	lea    -0x20(%ebp),%eax
430e5f:	50                   	push   %eax
430e60:	53                   	push   %ebx
430e61:	e8 b8 5a 00 00       	call   0x43691e
430e66:	59                   	pop    %ecx
430e67:	59                   	pop    %ecx
430e68:	8b c7                	mov    %edi,%eax
430e6a:	5e                   	pop    %esi
430e6b:	5f                   	pop    %edi
430e6c:	5b                   	pop    %ebx
430e6d:	c9                   	leave
430e6e:	c3                   	ret
430e6f:	8b ff                	mov    %edi,%edi
430e71:	55                   	push   %ebp
430e72:	8b ec                	mov    %esp,%ebp
430e74:	8d 45 18             	lea    0x18(%ebp),%eax
430e77:	50                   	push   %eax
430e78:	ff 75 14             	push   0x14(%ebp)
430e7b:	ff 75 10             	push   0x10(%ebp)
430e7e:	ff 75 0c             	push   0xc(%ebp)
430e81:	ff 75 08             	push   0x8(%ebp)
430e84:	e8 96 86 00 00       	call   0x43951f
430e89:	83 c4 14             	add    $0x14,%esp
430e8c:	5d                   	pop    %ebp
430e8d:	c3                   	ret
430e8e:	cc                   	int3
430e8f:	cc                   	int3
430e90:	51                   	push   %ecx
430e91:	8d 4c 24 04          	lea    0x4(%esp),%ecx
430e95:	2b c8                	sub    %eax,%ecx
430e97:	1b c0                	sbb    %eax,%eax
430e99:	f7 d0                	not    %eax
430e9b:	23 c8                	and    %eax,%ecx
430e9d:	8b c4                	mov    %esp,%eax
430e9f:	25 00 f0 ff ff       	and    $0xfffff000,%eax
430ea4:	3b c8                	cmp    %eax,%ecx
430ea6:	72 0a                	jb     0x430eb2
430ea8:	8b c1                	mov    %ecx,%eax
430eaa:	59                   	pop    %ecx
430eab:	94                   	xchg   %eax,%esp
430eac:	8b 00                	mov    (%eax),%eax
430eae:	89 04 24             	mov    %eax,(%esp)
430eb1:	c3                   	ret
430eb2:	2d 00 10 00 00       	sub    $0x1000,%eax
430eb7:	85 00                	test   %eax,(%eax)
430eb9:	eb e9                	jmp    0x430ea4
430ebb:	8b ff                	mov    %edi,%edi
430ebd:	55                   	push   %ebp
430ebe:	8b ec                	mov    %esp,%ebp
430ec0:	8b 45 08             	mov    0x8(%ebp),%eax
430ec3:	66 8b 55 0c          	mov    0xc(%ebp),%dx
430ec7:	eb 08                	jmp    0x430ed1
430ec9:	66 3b ca             	cmp    %dx,%cx
430ecc:	74 12                	je     0x430ee0
430ece:	83 c0 02             	add    $0x2,%eax
430ed1:	0f b7 08             	movzwl (%eax),%ecx
430ed4:	66 85 c9             	test   %cx,%cx
430ed7:	75 f0                	jne    0x430ec9
430ed9:	66 39 10             	cmp    %dx,(%eax)
430edc:	74 02                	je     0x430ee0
430ede:	33 c0                	xor    %eax,%eax
430ee0:	5d                   	pop    %ebp
430ee1:	c3                   	ret
430ee2:	8b ff                	mov    %edi,%edi
430ee4:	55                   	push   %ebp
430ee5:	8b ec                	mov    %esp,%ebp
430ee7:	83 ec 0c             	sub    $0xc,%esp
430eea:	53                   	push   %ebx
430eeb:	56                   	push   %esi
430eec:	57                   	push   %edi
430eed:	8b 7d 0c             	mov    0xc(%ebp),%edi
430ef0:	85 ff                	test   %edi,%edi
430ef2:	74 1d                	je     0x430f11
430ef4:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
430ef8:	74 17                	je     0x430f11
430efa:	8b 75 14             	mov    0x14(%ebp),%esi
430efd:	85 f6                	test   %esi,%esi
430eff:	75 17                	jne    0x430f18
430f01:	e8 a2 3a 00 00       	call   0x4349a8
430f06:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
430f0c:	e8 5d 34 00 00       	call   0x43436e
430f11:	33 c0                	xor    %eax,%eax
430f13:	5f                   	pop    %edi
430f14:	5e                   	pop    %esi
430f15:	5b                   	pop    %ebx
430f16:	c9                   	leave
430f17:	c3                   	ret
430f18:	8b 4d 08             	mov    0x8(%ebp),%ecx
430f1b:	85 c9                	test   %ecx,%ecx
430f1d:	74 e2                	je     0x430f01
430f1f:	83 c8 ff             	or     $0xffffffff,%eax
430f22:	33 d2                	xor    %edx,%edx
430f24:	f7 f7                	div    %edi
430f26:	39 45 10             	cmp    %eax,0x10(%ebp)
430f29:	77 d6                	ja     0x430f01
430f2b:	0f af 7d 10          	imul   0x10(%ebp),%edi
430f2f:	f7 46 0c 0c 01 00 00 	testl  $0x10c,0xc(%esi)
430f36:	89 4d fc             	mov    %ecx,-0x4(%ebp)
430f39:	89 7d f4             	mov    %edi,-0xc(%ebp)
430f3c:	8b df                	mov    %edi,%ebx
430f3e:	74 08                	je     0x430f48
430f40:	8b 46 18             	mov    0x18(%esi),%eax
430f43:	89 45 f8             	mov    %eax,-0x8(%ebp)
430f46:	eb 07                	jmp    0x430f4f
430f48:	c7 45 f8 00 10 00 00 	movl   $0x1000,-0x8(%ebp)
430f4f:	85 ff                	test   %edi,%edi
430f51:	0f 84 bf 00 00 00    	je     0x431016
430f57:	8b 4e 0c             	mov    0xc(%esi),%ecx
430f5a:	81 e1 08 01 00 00    	and    $0x108,%ecx
430f60:	74 2f                	je     0x430f91
430f62:	8b 46 04             	mov    0x4(%esi),%eax
430f65:	85 c0                	test   %eax,%eax
430f67:	74 28                	je     0x430f91
430f69:	0f 88 af 00 00 00    	js     0x43101e
430f6f:	8b fb                	mov    %ebx,%edi
430f71:	3b d8                	cmp    %eax,%ebx
430f73:	72 02                	jb     0x430f77
430f75:	8b f8                	mov    %eax,%edi
430f77:	57                   	push   %edi
430f78:	ff 75 fc             	push   -0x4(%ebp)
430f7b:	ff 36                	push   (%esi)
430f7d:	e8 8e 1d 00 00       	call   0x432d10
430f82:	29 7e 04             	sub    %edi,0x4(%esi)
430f85:	01 3e                	add    %edi,(%esi)
430f87:	83 c4 0c             	add    $0xc,%esp
430f8a:	2b df                	sub    %edi,%ebx
430f8c:	01 7d fc             	add    %edi,-0x4(%ebp)
430f8f:	eb 4f                	jmp    0x430fe0
430f91:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
430f94:	72 4f                	jb     0x430fe5
430f96:	85 c9                	test   %ecx,%ecx
430f98:	74 0b                	je     0x430fa5
430f9a:	56                   	push   %esi
430f9b:	e8 68 56 00 00       	call   0x436608
430fa0:	59                   	pop    %ecx
430fa1:	85 c0                	test   %eax,%eax
430fa3:	75 7d                	jne    0x431022
430fa5:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
430fa9:	8b fb                	mov    %ebx,%edi
430fab:	74 09                	je     0x430fb6
430fad:	33 d2                	xor    %edx,%edx
430faf:	8b c3                	mov    %ebx,%eax
430fb1:	f7 75 f8             	divl   -0x8(%ebp)
430fb4:	2b fa                	sub    %edx,%edi
430fb6:	57                   	push   %edi
430fb7:	ff 75 fc             	push   -0x4(%ebp)
430fba:	56                   	push   %esi
430fbb:	e8 52 52 00 00       	call   0x436212
430fc0:	59                   	pop    %ecx
430fc1:	50                   	push   %eax
430fc2:	e8 1e 8d 00 00       	call   0x439ce5
430fc7:	83 c4 0c             	add    $0xc,%esp
430fca:	83 f8 ff             	cmp    $0xffffffff,%eax
430fcd:	74 61                	je     0x431030
430fcf:	8b cf                	mov    %edi,%ecx
430fd1:	3b c7                	cmp    %edi,%eax
430fd3:	77 02                	ja     0x430fd7
430fd5:	8b c8                	mov    %eax,%ecx
430fd7:	01 4d fc             	add    %ecx,-0x4(%ebp)
430fda:	2b d9                	sub    %ecx,%ebx
430fdc:	3b c7                	cmp    %edi,%eax
430fde:	72 50                	jb     0x431030
430fe0:	8b 7d f4             	mov    -0xc(%ebp),%edi
430fe3:	eb 29                	jmp    0x43100e
430fe5:	8b 45 fc             	mov    -0x4(%ebp),%eax
430fe8:	0f be 00             	movsbl (%eax),%eax