462b4c:	83 c8 ff             	or     $0xffffffff,%eax
462b4f:	3b c7                	cmp    %edi,%eax
462b51:	0f 85 d3 00 00 00    	jne    0x462c2a
462b57:	8b c3                	mov    %ebx,%eax
462b59:	4b                   	dec    %ebx
462b5a:	89 45 f8             	mov    %eax,-0x8(%ebp)
462b5d:	78 37                	js     0x462b96
462b5f:	8b 7d 10             	mov    0x10(%ebp),%edi
462b62:	53                   	push   %ebx
462b63:	57                   	push   %edi
462b64:	ff 15 c8 f5 48 00    	call   *0x48f5c8
462b6a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
462b6d:	89 45 f4             	mov    %eax,-0xc(%ebp)
462b70:	51                   	push   %ecx
462b71:	50                   	push   %eax
462b72:	8b ce                	mov    %esi,%ecx
462b74:	e8 d3 03 00 00       	call   0x462f4c
462b79:	84 c0                	test   %al,%al
462b7b:	74 10                	je     0x462b8d
462b7d:	8b 45 f4             	mov    -0xc(%ebp),%eax
462b80:	8b 84 86 b4 01 00 00 	mov    0x1b4(%esi,%eax,4),%eax
462b87:	80 78 05 00          	cmpb   $0x0,0x5(%eax)
462b8b:	74 03                	je     0x462b90
462b8d:	4b                   	dec    %ebx
462b8e:	79 d2                	jns    0x462b62
462b90:	8b 7d fc             	mov    -0x4(%ebp),%edi
462b93:	8b 45 f8             	mov    -0x8(%ebp),%eax
462b96:	8d 4b 01             	lea    0x1(%ebx),%ecx
462b99:	8d 58 01             	lea    0x1(%eax),%ebx
462b9c:	89 4d ec             	mov    %ecx,-0x14(%ebp)
462b9f:	3b 5d 14             	cmp    0x14(%ebp),%ebx
462ba2:	7d 3d                	jge    0x462be1
462ba4:	8b 7d 10             	mov    0x10(%ebp),%edi
462ba7:	53                   	push   %ebx
462ba8:	57                   	push   %edi
462ba9:	ff 15 c8 f5 48 00    	call   *0x48f5c8
462baf:	8d 4d f0             	lea    -0x10(%ebp),%ecx
462bb2:	89 45 f4             	mov    %eax,-0xc(%ebp)
462bb5:	51                   	push   %ecx
462bb6:	50                   	push   %eax
462bb7:	8b ce                	mov    %esi,%ecx
462bb9:	e8 8e 03 00 00       	call   0x462f4c
462bbe:	84 c0                	test   %al,%al
462bc0:	74 10                	je     0x462bd2
462bc2:	8b 45 f4             	mov    -0xc(%ebp),%eax
462bc5:	8b 84 86 b4 01 00 00 	mov    0x1b4(%esi,%eax,4),%eax
462bcc:	80 78 05 00          	cmpb   $0x0,0x5(%eax)
462bd0:	74 06                	je     0x462bd8
462bd2:	43                   	inc    %ebx
462bd3:	3b 5d 14             	cmp    0x14(%ebp),%ebx
462bd6:	7c cf                	jl     0x462ba7
462bd8:	8b 7d fc             	mov    -0x4(%ebp),%edi
462bdb:	8b 45 f8             	mov    -0x8(%ebp),%eax
462bde:	8b 4d ec             	mov    -0x14(%ebp),%ecx
462be1:	68 00 04 00 00       	push   $0x400
462be6:	50                   	push   %eax
462be7:	8d 43 ff             	lea    -0x1(%ebx),%eax
462bea:	50                   	push   %eax
462beb:	51                   	push   %ecx
462bec:	ff 75 10             	push   0x10(%ebp)
462bef:	ff 15 f8 f6 48 00    	call   *0x48f6f8
462bf5:	eb 33                	jmp    0x462c2a
462bf7:	38 5e 05             	cmp    %bl,0x5(%esi)
462bfa:	74 2e                	je     0x462c2a
462bfc:	8d 4d bc             	lea    -0x44(%ebp),%ecx
462bff:	51                   	push   %ecx
462c00:	53                   	push   %ebx
462c01:	57                   	push   %edi
462c02:	50                   	push   %eax
462c03:	ff 15 d4 f5 48 00    	call   *0x48f5d4
462c09:	8b 45 c8             	mov    -0x38(%ebp),%eax
462c0c:	a8 08                	test   $0x8,%al
462c0e:	74 05                	je     0x462c15
462c10:	83 f0 08             	xor    $0x8,%eax
462c13:	eb 03                	jmp    0x462c18
462c15:	83 c8 08             	or     $0x8,%eax
462c18:	89 45 c8             	mov    %eax,-0x38(%ebp)
462c1b:	8d 45 bc             	lea    -0x44(%ebp),%eax
462c1e:	50                   	push   %eax
462c1f:	53                   	push   %ebx
462c20:	57                   	push   %edi
462c21:	ff 75 10             	push   0x10(%ebp)
462c24:	ff 15 d0 f5 48 00    	call   *0x48f5d0
462c2a:	57                   	push   %edi
462c2b:	8b ce                	mov    %esi,%ecx
462c2d:	e8 71 fa ff ff       	call   0x4626a3
462c32:	e9 47 fe ff ff       	jmp    0x462a7e
462c37:	32 c0                	xor    %al,%al
462c39:	5f                   	pop    %edi
462c3a:	5e                   	pop    %esi
462c3b:	5b                   	pop    %ebx
462c3c:	8b e5                	mov    %ebp,%esp
462c3e:	5d                   	pop    %ebp
462c3f:	c2 10 00             	ret    $0x10
462c42:	55                   	push   %ebp
462c43:	8b ec                	mov    %esp,%ebp
462c45:	83 e4 f8             	and    $0xfffffff8,%esp
462c48:	83 ec 3c             	sub    $0x3c,%esp
462c4b:	83 0c 24 ff          	orl    $0xffffffff,(%esp)
462c4f:	8d 04 24             	lea    (%esp),%eax
462c52:	53                   	push   %ebx
462c53:	56                   	push   %esi
462c54:	57                   	push   %edi
462c55:	50                   	push   %eax
462c56:	ff 75 08             	push   0x8(%ebp)
462c59:	8b f1                	mov    %ecx,%esi
462c5b:	e8 ec 02 00 00       	call   0x462f4c
462c60:	84 c0                	test   %al,%al
462c62:	0f 84 1e 01 00 00    	je     0x462d86
462c68:	8b 7c 24 0c          	mov    0xc(%esp),%edi
462c6c:	6a 07                	push   $0x7
462c6e:	5b                   	pop    %ebx
462c6f:	3b fb                	cmp    %ebx,%edi
462c71:	0f 8c 0f 01 00 00    	jl     0x462d86
462c77:	3b be d0 09 00 00    	cmp    0x9d0(%esi),%edi
462c7d:	0f 8f 03 01 00 00    	jg     0x462d86
462c83:	8b 84 be b4 01 00 00 	mov    0x1b4(%esi,%edi,4),%eax
462c8a:	89 44 24 14          	mov    %eax,0x14(%esp)
462c8e:	80 78 04 01          	cmpb   $0x1,0x4(%eax)
462c92:	8b 08                	mov    (%eax),%ecx
462c94:	89 4c 24 10          	mov    %ecx,0x10(%esp)
462c98:	0f 85 b3 00 00 00    	jne    0x462d51
462c9e:	6a 2c                	push   $0x2c
462ca0:	8d 44 24 20          	lea    0x20(%esp),%eax
462ca4:	c7 44 24 1c 30 00 00 	movl   $0x30,0x1c(%esp)
462cab:	00
462cac:	6a 00                	push   $0x0
462cae:	50                   	push   %eax
462caf:	e8 6c 03 fc ff       	call   0x423020
462cb4:	83 c4 0c             	add    $0xc,%esp
462cb7:	c7 44 24 1c 04 00 00 	movl   $0x4,0x1c(%esp)
462cbe:	00
462cbf:	8d 44 24 18          	lea    0x18(%esp),%eax
462cc3:	50                   	push   %eax
462cc4:	6a 00                	push   $0x0
462cc6:	57                   	push   %edi
462cc7:	ff 74 24 1c          	push   0x1c(%esp)
462ccb:	ff 15 d4 f5 48 00    	call   *0x48f5d4
462cd1:	85 c0                	test   %eax,%eax
462cd3:	0f 84 ad 00 00 00    	je     0x462d86
462cd9:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
462cdd:	89 4c 24 10          	mov    %ecx,0x10(%esp)
462ce1:	85 c9                	test   %ecx,%ecx
462ce3:	74 6c                	je     0x462d51
462ce5:	39 9e d0 09 00 00    	cmp    %ebx,0x9d0(%esi)
462ceb:	7c 64                	jl     0x462d51
462ced:	8d be d0 01 00 00    	lea    0x1d0(%esi),%edi
462cf3:	8b 07                	mov    (%edi),%eax
462cf5:	85 c0                	test   %eax,%eax
462cf7:	74 48                	je     0x462d41
462cf9:	39 08                	cmp    %ecx,(%eax)
462cfb:	75 44                	jne    0x462d41
462cfd:	80 78 04 01          	cmpb   $0x1,0x4(%eax)
462d01:	75 0a                	jne    0x462d0d
462d03:	53                   	push   %ebx
462d04:	8b ce                	mov    %esi,%ecx
462d06:	e8 37 ff ff ff       	call   0x462c42
462d0b:	eb 30                	jmp    0x462d3d
462d0d:	6a 00                	push   $0x0
462d0f:	53                   	push   %ebx
462d10:	51                   	push   %ecx
462d11:	ff 15 c0 f5 48 00    	call   *0x48f5c0
462d17:	8b 07                	mov    (%edi),%eax
462d19:	33 c9                	xor    %ecx,%ecx
462d1b:	6a ff                	push   $0xffffffff
462d1d:	51                   	push   %ecx
462d1e:	c6 40 04 ff          	movb   $0xff,0x4(%eax)
462d22:	8b 07                	mov    (%edi),%eax
462d24:	89 08                	mov    %ecx,(%eax)
462d26:	8b 07                	mov    (%edi),%eax
462d28:	88 48 05             	mov    %cl,0x5(%eax)
462d2b:	8b 0f                	mov    (%edi),%ecx
462d2d:	83 c1 08             	add    $0x8,%ecx
462d30:	e8 57 51 fa ff       	call   0x407e8c
462d35:	53                   	push   %ebx
462d36:	8b ce                	mov    %esi,%ecx
462d38:	e8 63 fb ff ff       	call   0x4628a0
462d3d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
462d41:	43                   	inc    %ebx
462d42:	83 c7 04             	add    $0x4,%edi
462d45:	3b 9e d0 09 00 00    	cmp    0x9d0(%esi),%ebx
462d4b:	7e a6                	jle    0x462cf3
462d4d:	8b 7c 24 0c          	mov    0xc(%esp),%edi
462d51:	8b 5c 24 14          	mov    0x14(%esp),%ebx
462d55:	6a 00                	push   $0x0
462d57:	57                   	push   %edi
462d58:	ff 33                	push   (%ebx)
462d5a:	ff 15 c0 f5 48 00    	call   *0x48f5c0
462d60:	85 c0                	test   %eax,%eax
462d62:	74 22                	je     0x462d86
462d64:	33 c0                	xor    %eax,%eax
462d66:	66 c7 43 04 ff 00    	movw   $0xff,0x4(%ebx)
462d6c:	6a ff                	push   $0xffffffff
462d6e:	50                   	push   %eax
462d6f:	8d 4b 08             	lea    0x8(%ebx),%ecx
462d72:	89 03                	mov    %eax,(%ebx)
462d74:	e8 13 51 fa ff       	call   0x407e8c
462d79:	57                   	push   %edi
462d7a:	8b ce                	mov    %esi,%ecx
462d7c:	e8 1f fb ff ff       	call   0x4628a0
462d81:	33 c0                	xor    %eax,%eax
462d83:	40                   	inc    %eax
462d84:	eb 02                	jmp    0x462d88
462d86:	33 c0                	xor    %eax,%eax
462d88:	5f                   	pop    %edi
462d89:	5e                   	pop    %esi
462d8a:	5b                   	pop    %ebx
462d8b:	8b e5                	mov    %ebp,%esp
462d8d:	5d                   	pop    %ebp
462d8e:	c2 04 00             	ret    $0x4
462d91:	55                   	push   %ebp
462d92:	8b ec                	mov    %esp,%ebp
462d94:	83 ec 34             	sub    $0x34,%esp
462d97:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
462d9b:	53                   	push   %ebx
462d9c:	56                   	push   %esi
462d9d:	57                   	push   %edi
462d9e:	8b 7d 08             	mov    0x8(%ebp),%edi
462da1:	83 ff 05             	cmp    $0x5,%edi
462da4:	0f 84 e9 00 00 00    	je     0x462e93
462daa:	83 ff 06             	cmp    $0x6,%edi
462dad:	0f 84 e0 00 00 00    	je     0x462e93
462db3:	83 ff 03             	cmp    $0x3,%edi
462db6:	74 1f                	je     0x462dd7
462db8:	83 ff 04             	cmp    $0x4,%edi
462dbb:	74 1a                	je     0x462dd7
462dbd:	8d 45 fc             	lea    -0x4(%ebp),%eax
462dc0:	b9 90 68 4c 00       	mov    $0x4c6890,%ecx
462dc5:	50                   	push   %eax
462dc6:	57                   	push   %edi
462dc7:	e8 80 01 00 00       	call   0x462f4c
462dcc:	84 c0                	test   %al,%al
462dce:	0f 84 bf 00 00 00    	je     0x462e93
462dd4:	8b 7d fc             	mov    -0x4(%ebp),%edi
462dd7:	8b 75 10             	mov    0x10(%ebp),%esi
462dda:	8b 04 bd 44 6a 4c 00 	mov    0x4c6a44(,%edi,4),%eax
462de1:	83 26 00             	andl   $0x0,(%esi)
462de4:	85 c0                	test   %eax,%eax
462de6:	0f 84 a7 00 00 00    	je     0x462e93
462dec:	8b 18                	mov    (%eax),%ebx
462dee:	8d 45 d0             	lea    -0x30(%ebp),%eax
462df1:	6a 2c                	push   $0x2c
462df3:	6a 00                	push   $0x0
462df5:	50                   	push   %eax
462df6:	89 5d 08             	mov    %ebx,0x8(%ebp)
462df9:	c7 45 cc 30 00 00 00 	movl   $0x30,-0x34(%ebp)
462e00:	e8 1b 02 fc ff       	call   0x423020
462e05:	83 c4 0c             	add    $0xc,%esp
462e08:	85 db                	test   %ebx,%ebx
462e0a:	0f 84 83 00 00 00    	je     0x462e93
462e10:	68 08 02 00 00       	push   $0x208
462e15:	e8 dc e1 fb ff       	call   0x420ff6
462e1a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
462e1d:	59                   	pop    %ecx
462e1e:	89 45 f0             	mov    %eax,-0x10(%ebp)
462e21:	c7 45 d0 11 00 00 00 	movl   $0x11,-0x30(%ebp)
462e28:	89 03                	mov    %eax,(%ebx)
462e2a:	8d 45 cc             	lea    -0x34(%ebp),%eax
462e2d:	50                   	push   %eax
462e2e:	6a 00                	push   $0x0
462e30:	57                   	push   %edi
462e31:	ff 75 08             	push   0x8(%ebp)
462e34:	c7 45 f4 04 01 00 00 	movl   $0x104,-0xc(%ebp)
462e3b:	ff 15 d4 f5 48 00    	call   *0x48f5d4
462e41:	85 c0                	test   %eax,%eax
462e43:	74 46                	je     0x462e8b
462e45:	f7 45 d4 00 08 00 00 	testl  $0x800,-0x2c(%ebp)
462e4c:	75 3d                	jne    0x462e8b
462e4e:	8b 45 d8             	mov    -0x28(%ebp),%eax
462e51:	a8 03                	test   $0x3,%al
462e53:	74 08                	je     0x462e5d
462e55:	81 0e 80 00 00 00    	orl    $0x80,(%esi)
462e5b:	eb 03                	jmp    0x462e60
462e5d:	83 0e 40             	orl    $0x40,(%esi)
462e60:	a9 80 80 00 00       	test   $0x8080,%eax
462e65:	74 06                	je     0x462e6d
462e67:	81 0e 00 01 00 00    	orl    $0x100,(%esi)
462e6d:	a8 08                	test   $0x8,%al
462e6f:	74 05                	je     0x462e76
462e71:	83 0e 01             	orl    $0x1,(%esi)
462e74:	eb 03                	jmp    0x462e79
462e76:	83 0e 04             	orl    $0x4,(%esi)
462e79:	a9 00 10 00 00       	test   $0x1000,%eax
462e7e:	74 06                	je     0x462e86
462e80:	81 0e 00 02 00 00    	orl    $0x200,(%esi)
462e86:	33 c0                	xor    %eax,%eax
462e88:	40                   	inc    %eax
462e89:	eb 0a                	jmp    0x462e95
462e8b:	ff 33                	push   (%ebx)
462e8d:	e8 da e1 fb ff       	call   0x42106c
462e92:	59                   	pop    %ecx
462e93:	33 c0                	xor    %eax,%eax
462e95:	5f                   	pop    %edi
462e96:	5e                   	pop    %esi
462e97:	5b                   	pop    %ebx
462e98:	8b e5                	mov    %ebp,%esp
462e9a:	5d                   	pop    %ebp
462e9b:	c2 0c 00             	ret    $0xc
462e9e:	55                   	push   %ebp
462e9f:	8b ec                	mov    %esp,%ebp
462ea1:	83 ec 34             	sub    $0x34,%esp
462ea4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
462ea8:	56                   	push   %esi
462ea9:	8b 75 08             	mov    0x8(%ebp),%esi
462eac:	57                   	push   %edi
462ead:	85 f6                	test   %esi,%esi
462eaf:	75 12                	jne    0x462ec3
462eb1:	a1 90 68 4c 00       	mov    0x4c6890,%eax
462eb6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
462eb9:	89 01                	mov    %eax,(%ecx)
462ebb:	33 c0                	xor    %eax,%eax
462ebd:	40                   	inc    %eax
462ebe:	e9 81 00 00 00       	jmp    0x462f44
462ec3:	83 fe 05             	cmp    $0x5,%esi
462ec6:	74 7a                	je     0x462f42
462ec8:	83 fe 06             	cmp    $0x6,%esi
462ecb:	74 75                	je     0x462f42
462ecd:	83 fe 03             	cmp    $0x3,%esi
462ed0:	74 1d                	je     0x462eef
462ed2:	83 fe 04             	cmp    $0x4,%esi
462ed5:	74 18                	je     0x462eef
462ed7:	8d 45 fc             	lea    -0x4(%ebp),%eax
462eda:	b9 90 68 4c 00       	mov    $0x4c6890,%ecx
462edf:	50                   	push   %eax
462ee0:	56                   	push   %esi
462ee1:	e8 66 00 00 00       	call   0x462f4c
462ee6:	84 c0                	test   %al,%al
462ee8:	74 58                	je     0x462f42
462eea:	8b 7d fc             	mov    -0x4(%ebp),%edi
462eed:	eb 02                	jmp    0x462ef1
462eef:	8b fe                	mov    %esi,%edi
462ef1:	8b 04 bd 44 6a 4c 00 	mov    0x4c6a44(,%edi,4),%eax
462ef8:	85 c0                	test   %eax,%eax
462efa:	74 46                	je     0x462f42
462efc:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
462f00:	74 40                	je     0x462f42
462f02:	6a 2c                	push   $0x2c
462f04:	8d 45 d0             	lea    -0x30(%ebp),%eax
462f07:	c7 45 cc 30 00 00 00 	movl   $0x30,-0x34(%ebp)
462f0e:	6a 00                	push   $0x0
462f10:	50                   	push   %eax
462f11:	e8 0a 01 fc ff       	call   0x423020
462f16:	83 c4 0c             	add    $0xc,%esp
462f19:	c7 45 d0 04 00 00 00 	movl   $0x4,-0x30(%ebp)
462f20:	8d 45 cc             	lea    -0x34(%ebp),%eax
462f23:	50                   	push   %eax
462f24:	8b 04 bd 44 6a 4c 00 	mov    0x4c6a44(,%edi,4),%eax
462f2b:	6a 00                	push   $0x0
462f2d:	56                   	push   %esi
462f2e:	ff 30                	push   (%eax)