429c21:	83 3f ff             	cmpl   $0xffffffff,(%edi)
429c24:	74 04                	je     0x429c2a
429c26:	85 f6                	test   %esi,%esi
429c28:	7f e7                	jg     0x429c11
429c2a:	5f                   	pop    %edi
429c2b:	5e                   	pop    %esi
429c2c:	5d                   	pop    %ebp
429c2d:	c3                   	ret
429c2e:	55                   	push   %ebp
429c2f:	8b ec                	mov    %esp,%ebp
429c31:	56                   	push   %esi
429c32:	8b 75 18             	mov    0x18(%ebp),%esi
429c35:	57                   	push   %edi
429c36:	8b 7d 10             	mov    0x10(%ebp),%edi
429c39:	8b 06                	mov    (%esi),%eax
429c3b:	f6 47 0c 40          	testb  $0x40,0xc(%edi)
429c3f:	89 45 18             	mov    %eax,0x18(%ebp)
429c42:	74 10                	je     0x429c54
429c44:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
429c48:	75 0a                	jne    0x429c54
429c4a:	8b 4d 14             	mov    0x14(%ebp),%ecx
429c4d:	8b 45 0c             	mov    0xc(%ebp),%eax
429c50:	01 01                	add    %eax,(%ecx)
429c52:	eb 4f                	jmp    0x429ca3
429c54:	83 26 00             	andl   $0x0,(%esi)
429c57:	53                   	push   %ebx
429c58:	8b 5d 0c             	mov    0xc(%ebp),%ebx
429c5b:	85 db                	test   %ebx,%ebx
429c5d:	7e 41                	jle    0x429ca0
429c5f:	8b 45 14             	mov    0x14(%ebp),%eax
429c62:	50                   	push   %eax
429c63:	8b 45 08             	mov    0x8(%ebp),%eax
429c66:	57                   	push   %edi
429c67:	0f b7 00             	movzwl (%eax),%eax
429c6a:	50                   	push   %eax
429c6b:	4b                   	dec    %ebx
429c6c:	e8 5b ff ff ff       	call   0x429bcc
429c71:	8b 45 14             	mov    0x14(%ebp),%eax
429c74:	83 45 08 02          	addl   $0x2,0x8(%ebp)
429c78:	83 c4 0c             	add    $0xc,%esp
429c7b:	83 38 ff             	cmpl   $0xffffffff,(%eax)
429c7e:	75 14                	jne    0x429c94
429c80:	83 3e 2a             	cmpl   $0x2a,(%esi)
429c83:	75 13                	jne    0x429c98
429c85:	50                   	push   %eax
429c86:	57                   	push   %edi
429c87:	6a 3f                	push   $0x3f
429c89:	e8 3e ff ff ff       	call   0x429bcc
429c8e:	8b 45 14             	mov    0x14(%ebp),%eax
429c91:	83 c4 0c             	add    $0xc,%esp
429c94:	85 db                	test   %ebx,%ebx
429c96:	7f ca                	jg     0x429c62
429c98:	83 3e 00             	cmpl   $0x0,(%esi)
429c9b:	75 05                	jne    0x429ca2
429c9d:	8b 45 18             	mov    0x18(%ebp),%eax
429ca0:	89 06                	mov    %eax,(%esi)
429ca2:	5b                   	pop    %ebx
429ca3:	5f                   	pop    %edi
429ca4:	5e                   	pop    %esi
429ca5:	5d                   	pop    %ebp
429ca6:	c3                   	ret
429ca7:	ff 15 68 d1 48 00    	call   *0x48d168
429cad:	33 c9                	xor    %ecx,%ecx
429caf:	85 c0                	test   %eax,%eax
429cb1:	0f 95 c1             	setne  %cl
429cb4:	a3 34 09 4c 00       	mov    %eax,0x4c0934
429cb9:	8b c1                	mov    %ecx,%eax
429cbb:	c3                   	ret
429cbc:	55                   	push   %ebp
429cbd:	8b ec                	mov    %esp,%ebp
429cbf:	83 ec 18             	sub    $0x18,%esp
429cc2:	8d 4d e8             	lea    -0x18(%ebp),%ecx
429cc5:	53                   	push   %ebx
429cc6:	ff 75 10             	push   0x10(%ebp)
429cc9:	e8 51 72 ff ff       	call   0x420f1f
429cce:	8b 5d 08             	mov    0x8(%ebp),%ebx
429cd1:	8d 43 01             	lea    0x1(%ebx),%eax
429cd4:	3d 00 01 00 00       	cmp    $0x100,%eax
429cd9:	77 0f                	ja     0x429cea
429cdb:	8b 45 e8             	mov    -0x18(%ebp),%eax
429cde:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
429ce4:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
429ce8:	eb 6e                	jmp    0x429d58
429cea:	8b c3                	mov    %ebx,%eax
429cec:	c1 f8 08             	sar    $0x8,%eax
429cef:	89 45 08             	mov    %eax,0x8(%ebp)
429cf2:	8d 4d e8             	lea    -0x18(%ebp),%ecx
429cf5:	0f b6 c0             	movzbl %al,%eax
429cf8:	51                   	push   %ecx
429cf9:	50                   	push   %eax
429cfa:	e8 53 79 ff ff       	call   0x421652
429cff:	59                   	pop    %ecx
429d00:	59                   	pop    %ecx
429d01:	85 c0                	test   %eax,%eax
429d03:	74 12                	je     0x429d17
429d05:	8b 45 08             	mov    0x8(%ebp),%eax
429d08:	6a 02                	push   $0x2
429d0a:	88 45 f8             	mov    %al,-0x8(%ebp)
429d0d:	88 5d f9             	mov    %bl,-0x7(%ebp)
429d10:	c6 45 fa 00          	movb   $0x0,-0x6(%ebp)
429d14:	59                   	pop    %ecx
429d15:	eb 0a                	jmp    0x429d21
429d17:	33 c9                	xor    %ecx,%ecx
429d19:	88 5d f8             	mov    %bl,-0x8(%ebp)
429d1c:	c6 45 f9 00          	movb   $0x0,-0x7(%ebp)
429d20:	41                   	inc    %ecx
429d21:	8b 45 e8             	mov    -0x18(%ebp),%eax
429d24:	6a 01                	push   $0x1
429d26:	ff 70 04             	push   0x4(%eax)
429d29:	8d 45 fc             	lea    -0x4(%ebp),%eax
429d2c:	50                   	push   %eax
429d2d:	51                   	push   %ecx
429d2e:	8d 45 f8             	lea    -0x8(%ebp),%eax
429d31:	50                   	push   %eax
429d32:	8d 45 e8             	lea    -0x18(%ebp),%eax
429d35:	6a 01                	push   $0x1
429d37:	50                   	push   %eax
429d38:	e8 be 99 00 00       	call   0x4336fb
429d3d:	83 c4 1c             	add    $0x1c,%esp
429d40:	85 c0                	test   %eax,%eax
429d42:	75 10                	jne    0x429d54
429d44:	38 45 f4             	cmp    %al,-0xc(%ebp)
429d47:	74 07                	je     0x429d50
429d49:	8b 45 f0             	mov    -0x10(%ebp),%eax
429d4c:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
429d50:	33 c0                	xor    %eax,%eax
429d52:	eb 14                	jmp    0x429d68
429d54:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
429d58:	23 45 0c             	and    0xc(%ebp),%eax
429d5b:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
429d5f:	74 07                	je     0x429d68
429d61:	8b 4d f0             	mov    -0x10(%ebp),%ecx
429d64:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
429d68:	5b                   	pop    %ebx
429d69:	c9                   	leave
429d6a:	c3                   	ret
429d6b:	55                   	push   %ebp
429d6c:	8b ec                	mov    %esp,%ebp
429d6e:	8b 55 14             	mov    0x14(%ebp),%edx
429d71:	8b 4d 08             	mov    0x8(%ebp),%ecx
429d74:	56                   	push   %esi
429d75:	85 d2                	test   %edx,%edx
429d77:	75 0d                	jne    0x429d86
429d79:	85 c9                	test   %ecx,%ecx
429d7b:	75 0d                	jne    0x429d8a
429d7d:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
429d80:	75 26                	jne    0x429da8
429d82:	33 c0                	xor    %eax,%eax
429d84:	eb 33                	jmp    0x429db9
429d86:	85 c9                	test   %ecx,%ecx
429d88:	74 1e                	je     0x429da8
429d8a:	8b 45 0c             	mov    0xc(%ebp),%eax
429d8d:	85 c0                	test   %eax,%eax
429d8f:	74 17                	je     0x429da8
429d91:	85 d2                	test   %edx,%edx
429d93:	75 07                	jne    0x429d9c
429d95:	33 c0                	xor    %eax,%eax
429d97:	66 89 01             	mov    %ax,(%ecx)
429d9a:	eb e6                	jmp    0x429d82
429d9c:	8b 75 10             	mov    0x10(%ebp),%esi
429d9f:	85 f6                	test   %esi,%esi
429da1:	75 19                	jne    0x429dbc
429da3:	33 c0                	xor    %eax,%eax
429da5:	66 89 01             	mov    %ax,(%ecx)
429da8:	e8 61 de ff ff       	call   0x427c0e
429dad:	6a 16                	push   $0x16
429daf:	5e                   	pop    %esi
429db0:	89 30                	mov    %esi,(%eax)
429db2:	e8 59 d0 ff ff       	call   0x426e10
429db7:	8b c6                	mov    %esi,%eax
429db9:	5e                   	pop    %esi
429dba:	5d                   	pop    %ebp
429dbb:	c3                   	ret
429dbc:	53                   	push   %ebx
429dbd:	57                   	push   %edi
429dbe:	8b d9                	mov    %ecx,%ebx
429dc0:	8b f8                	mov    %eax,%edi
429dc2:	83 fa ff             	cmp    $0xffffffff,%edx
429dc5:	75 16                	jne    0x429ddd
429dc7:	2b de                	sub    %esi,%ebx
429dc9:	0f b7 06             	movzwl (%esi),%eax
429dcc:	66 89 04 33          	mov    %ax,(%ebx,%esi,1)
429dd0:	8d 76 02             	lea    0x2(%esi),%esi
429dd3:	66 85 c0             	test   %ax,%ax
429dd6:	74 25                	je     0x429dfd
429dd8:	4f                   	dec    %edi
429dd9:	75 ee                	jne    0x429dc9
429ddb:	eb 20                	jmp    0x429dfd
429ddd:	2b f1                	sub    %ecx,%esi
429ddf:	0f b7 04 1e          	movzwl (%esi,%ebx,1),%eax
429de3:	66 89 03             	mov    %ax,(%ebx)
429de6:	8d 5b 02             	lea    0x2(%ebx),%ebx
429de9:	66 85 c0             	test   %ax,%ax
429dec:	74 06                	je     0x429df4
429dee:	4f                   	dec    %edi
429def:	74 03                	je     0x429df4
429df1:	4a                   	dec    %edx
429df2:	75 eb                	jne    0x429ddf
429df4:	85 d2                	test   %edx,%edx
429df6:	75 05                	jne    0x429dfd
429df8:	33 c0                	xor    %eax,%eax
429dfa:	66 89 03             	mov    %ax,(%ebx)
429dfd:	85 ff                	test   %edi,%edi
429dff:	5f                   	pop    %edi
429e00:	5b                   	pop    %ebx
429e01:	0f 85 7b ff ff ff    	jne    0x429d82
429e07:	83 fa ff             	cmp    $0xffffffff,%edx
429e0a:	75 0f                	jne    0x429e1b
429e0c:	8b 45 0c             	mov    0xc(%ebp),%eax
429e0f:	33 d2                	xor    %edx,%edx
429e11:	6a 50                	push   $0x50
429e13:	66 89 54 41 fe       	mov    %dx,-0x2(%ecx,%eax,2)
429e18:	58                   	pop    %eax
429e19:	eb 9e                	jmp    0x429db9
429e1b:	33 c0                	xor    %eax,%eax
429e1d:	66 89 01             	mov    %ax,(%ecx)
429e20:	e8 e9 dd ff ff       	call   0x427c0e
429e25:	6a 22                	push   $0x22
429e27:	eb 86                	jmp    0x429daf
429e29:	55                   	push   %ebp
429e2a:	8b ec                	mov    %esp,%ebp
429e2c:	83 ec 24             	sub    $0x24,%esp
429e2f:	a1 c0 ad 4b 00       	mov    0x4badc0,%eax
429e34:	33 c5                	xor    %ebp,%eax
429e36:	89 45 fc             	mov    %eax,-0x4(%ebp)
429e39:	8b 45 08             	mov    0x8(%ebp),%eax
429e3c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
429e3f:	53                   	push   %ebx
429e40:	56                   	push   %esi
429e41:	57                   	push   %edi
429e42:	89 45 dc             	mov    %eax,-0x24(%ebp)
429e45:	8b 45 10             	mov    0x10(%ebp),%eax
429e48:	50                   	push   %eax
429e49:	33 f6                	xor    %esi,%esi
429e4b:	56                   	push   %esi
429e4c:	56                   	push   %esi
429e4d:	56                   	push   %esi
429e4e:	56                   	push   %esi
429e4f:	51                   	push   %ecx
429e50:	8d 45 e0             	lea    -0x20(%ebp),%eax
429e53:	50                   	push   %eax
429e54:	8d 45 f0             	lea    -0x10(%ebp),%eax
429e57:	50                   	push   %eax
429e58:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
429e5b:	8b fe                	mov    %esi,%edi
429e5d:	e8 6e 00 00 00       	call   0x429ed0
429e62:	8b d8                	mov    %eax,%ebx
429e64:	83 c4 20             	add    $0x20,%esp
429e67:	f6 c3 04             	test   $0x4,%bl
429e6a:	74 09                	je     0x429e75
429e6c:	bf 00 02 00 00       	mov    $0x200,%edi
429e71:	8b c6                	mov    %esi,%eax
429e73:	eb 34                	jmp    0x429ea9
429e75:	8d 45 e8             	lea    -0x18(%ebp),%eax
429e78:	50                   	push   %eax
429e79:	8d 45 f0             	lea    -0x10(%ebp),%eax
429e7c:	50                   	push   %eax
429e7d:	e8 8d a2 00 00       	call   0x43410f
429e82:	59                   	pop    %ecx
429e83:	59                   	pop    %ecx
429e84:	f6 c3 02             	test   $0x2,%bl
429e87:	75 05                	jne    0x429e8e
429e89:	83 f8 01             	cmp    $0x1,%eax
429e8c:	75 05                	jne    0x429e93
429e8e:	bf 80 00 00 00       	mov    $0x80,%edi
429e93:	f6 c3 01             	test   $0x1,%bl
429e96:	75 05                	jne    0x429e9d
429e98:	83 f8 02             	cmp    $0x2,%eax
429e9b:	75 06                	jne    0x429ea3
429e9d:	81 cf 00 01 00 00    	or     $0x100,%edi
429ea3:	8b 75 e8             	mov    -0x18(%ebp),%esi
429ea6:	8b 45 ec             	mov    -0x14(%ebp),%eax
429ea9:	8b 55 dc             	mov    -0x24(%ebp),%edx
429eac:	8b 4d e0             	mov    -0x20(%ebp),%ecx
429eaf:	2b 4d e4             	sub    -0x1c(%ebp),%ecx
429eb2:	89 3a                	mov    %edi,(%edx)
429eb4:	d1 f9                	sar    $1,%ecx
429eb6:	89 4a 04             	mov    %ecx,0x4(%edx)
429eb9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
429ebc:	5f                   	pop    %edi
429ebd:	89 72 10             	mov    %esi,0x10(%edx)
429ec0:	5e                   	pop    %esi
429ec1:	89 42 14             	mov    %eax,0x14(%edx)
429ec4:	33 cd                	xor    %ebp,%ecx
429ec6:	8b c2                	mov    %edx,%eax
429ec8:	5b                   	pop    %ebx
429ec9:	e8 3e 08 00 00       	call   0x42a70c
429ece:	c9                   	leave
429ecf:	c3                   	ret
429ed0:	55                   	push   %ebp
429ed1:	8b ec                	mov    %esp,%ebp
429ed3:	81 ec 84 00 00 00    	sub    $0x84,%esp
429ed9:	a1 c0 ad 4b 00       	mov    0x4badc0,%eax
429ede:	33 c5                	xor    %ebp,%eax
429ee0:	89 45 fc             	mov    %eax,-0x4(%ebp)
429ee3:	8b 45 08             	mov    0x8(%ebp),%eax
429ee6:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
429eec:	8b 45 0c             	mov    0xc(%ebp),%eax
429eef:	89 45 a4             	mov    %eax,-0x5c(%ebp)
429ef2:	33 c0                	xor    %eax,%eax
429ef4:	53                   	push   %ebx
429ef5:	33 db                	xor    %ebx,%ebx
429ef7:	40                   	inc    %eax
429ef8:	56                   	push   %esi
429ef9:	89 45 88             	mov    %eax,-0x78(%ebp)
429efc:	8b c3                	mov    %ebx,%eax
429efe:	8d 75 e0             	lea    -0x20(%ebp),%esi
429f01:	57                   	push   %edi
429f02:	89 75 a8             	mov    %esi,-0x58(%ebp)
429f05:	89 5d 80             	mov    %ebx,-0x80(%ebp)
429f08:	89 5d b0             	mov    %ebx,-0x50(%ebp)
429f0b:	89 5d 90             	mov    %ebx,-0x70(%ebp)
429f0e:	89 5d a0             	mov    %ebx,-0x60(%ebp)
429f11:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
429f14:	8b fb                	mov    %ebx,%edi
429f16:	89 5d ac             	mov    %ebx,-0x54(%ebp)
429f19:	39 45 24             	cmp    %eax,0x24(%ebp)
429f1c:	75 17                	jne    0x429f35
429f1e:	e8 eb dc ff ff       	call   0x427c0e
429f23:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
429f29:	e8 e2 ce ff ff       	call   0x426e10
429f2e:	33 c0                	xor    %eax,%eax
429f30:	e9 98 07 00 00       	jmp    0x42a6cd
429f35:	8b 55 10             	mov    0x10(%ebp),%edx
429f38:	89 55 b4             	mov    %edx,-0x4c(%ebp)
429f3b:	c7 45 9c 09 00 00 00 	movl   $0x9,-0x64(%ebp)
429f42:	c7 45 98 0a 00 00 00 	movl   $0xa,-0x68(%ebp)
429f49:	0f b7 0a             	movzwl (%edx),%ecx
429f4c:	83 f9 20             	cmp    $0x20,%ecx
429f4f:	74 11                	je     0x429f62
429f51:	66 3b 4d 9c          	cmp    -0x64(%ebp),%cx
429f55:	74 0b                	je     0x429f62
429f57:	66 3b 4d 98          	cmp    -0x68(%ebp),%cx
429f5b:	74 05                	je     0x429f62
429f5d:	83 f9 0d             	cmp    $0xd,%ecx
429f60:	75 05                	jne    0x429f67
429f62:	83 c2 02             	add    $0x2,%edx
429f65:	eb e2                	jmp    0x429f49
429f67:	c7 45 98 08 00 00 00 	movl   $0x8,-0x68(%ebp)
429f6e:	c7 45 94 30 00 00 00 	movl   $0x30,-0x6c(%ebp)
429f75:	c7 45 9c 39 00 00 00 	movl   $0x39,-0x64(%ebp)
429f7c:	0f b7 0a             	movzwl (%edx),%ecx
429f7f:	83 c2 02             	add    $0x2,%edx
429f82:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
429f85:	83 f8 0b             	cmp    $0xb,%eax
429f88:	0f 87 d1 02 00 00    	ja     0x42a25f
429f8e:	ff 24 85 dc a6 42 00 	jmp    *0x42a6dc(,%eax,4)
429f95:	8d 41 cf             	lea    -0x31(%ecx),%eax
429f98:	66 3b 45 98          	cmp    -0x68(%ebp),%ax
429f9c:	77 08                	ja     0x429fa6