5e2a7f:	33 c0                	xor    %eax,%eax
5e2a81:	81 e1 ff 7f ff ff    	and    $0xffff7fff,%ecx
5e2a87:	40                   	inc    %eax
5e2a88:	3b c8                	cmp    %eax,%ecx
5e2a8a:	0f 85 b2 00 00 00    	jne    0x5e2b42
5e2a90:	66 89 46 08          	mov    %ax,0x8(%esi)
5e2a94:	33 ff                	xor    %edi,%edi
5e2a96:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5e2a99:	85 c0                	test   %eax,%eax
5e2a9b:	74 20                	je     0x5e2abd
5e2a9d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5e2aa0:	89 7d c0             	mov    %edi,-0x40(%ebp)
5e2aa3:	51                   	push   %ecx
5e2aa4:	50                   	push   %eax
5e2aa5:	e8 21 03 00 00       	call   0x5e2dcb
5e2aaa:	59                   	pop    %ecx
5e2aab:	59                   	pop    %ecx
5e2aac:	84 c0                	test   %al,%al
5e2aae:	0f 84 a7 00 00 00    	je     0x5e2b5b
5e2ab4:	8b 45 c0             	mov    -0x40(%ebp),%eax
5e2ab7:	48                   	dec    %eax
5e2ab8:	89 46 10             	mov    %eax,0x10(%esi)
5e2abb:	89 06                	mov    %eax,(%esi)
5e2abd:	6a 34                	push   $0x34
5e2abf:	8d 45 c8             	lea    -0x38(%ebp),%eax
5e2ac2:	57                   	push   %edi
5e2ac3:	50                   	push   %eax
5e2ac4:	e8 a7 01 ff ff       	call   0x5d2c70
5e2ac9:	83 c4 0c             	add    $0xc,%esp
5e2acc:	8d 45 c8             	lea    -0x38(%ebp),%eax
5e2acf:	50                   	push   %eax
5e2ad0:	53                   	push   %ebx
5e2ad1:	ff 15 8c 22 60 00    	call   *0x60228c
5e2ad7:	85 c0                	test   %eax,%eax
5e2ad9:	0f 84 80 00 00 00    	je     0x5e2b5f
5e2adf:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5e2ae2:	50                   	push   %eax
5e2ae3:	ff 75 c8             	push   -0x38(%ebp)
5e2ae6:	e8 32 02 00 00       	call   0x5e2d1d
5e2aeb:	57                   	push   %edi
5e2aec:	57                   	push   %edi
5e2aed:	ff 75 e0             	push   -0x20(%ebp)
5e2af0:	66 89 46 06          	mov    %ax,0x6(%esi)
5e2af4:	ff 75 dc             	push   -0x24(%ebp)
5e2af7:	e8 c9 00 00 00       	call   0x5e2bc5
5e2afc:	52                   	push   %edx
5e2afd:	50                   	push   %eax
5e2afe:	ff 75 d8             	push   -0x28(%ebp)
5e2b01:	89 46 20             	mov    %eax,0x20(%esi)
5e2b04:	ff 75 d4             	push   -0x2c(%ebp)
5e2b07:	89 56 24             	mov    %edx,0x24(%esi)
5e2b0a:	e8 b6 00 00 00       	call   0x5e2bc5
5e2b0f:	ff 76 24             	push   0x24(%esi)
5e2b12:	89 46 18             	mov    %eax,0x18(%esi)
5e2b15:	ff 76 20             	push   0x20(%esi)
5e2b18:	89 56 1c             	mov    %edx,0x1c(%esi)
5e2b1b:	ff 75 d0             	push   -0x30(%ebp)
5e2b1e:	ff 75 cc             	push   -0x34(%ebp)
5e2b21:	e8 9f 00 00 00       	call   0x5e2bc5
5e2b26:	89 46 28             	mov    %eax,0x28(%esi)
5e2b29:	8d 46 14             	lea    0x14(%esi),%eax
5e2b2c:	50                   	push   %eax
5e2b2d:	8d 45 c8             	lea    -0x38(%ebp),%eax
5e2b30:	89 56 2c             	mov    %edx,0x2c(%esi)
5e2b33:	50                   	push   %eax
5e2b34:	e8 b1 01 00 00       	call   0x5e2cea
5e2b39:	83 c4 40             	add    $0x40,%esp
5e2b3c:	84 c0                	test   %al,%al
5e2b3e:	75 73                	jne    0x5e2bb3
5e2b40:	eb 19                	jmp    0x5e2b5b
5e2b42:	83 f9 02             	cmp    $0x2,%ecx
5e2b45:	74 27                	je     0x5e2b6e
5e2b47:	83 f9 03             	cmp    $0x3,%ecx
5e2b4a:	74 22                	je     0x5e2b6e
5e2b4c:	85 c9                	test   %ecx,%ecx
5e2b4e:	75 0f                	jne    0x5e2b5f
5e2b50:	e8 33 81 ff ff       	call   0x5dac88
5e2b55:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
5e2b5b:	32 c0                	xor    %al,%al
5e2b5d:	eb 57                	jmp    0x5e2bb6
5e2b5f:	ff 15 58 21 60 00    	call   *0x602158
5e2b65:	50                   	push   %eax
5e2b66:	e8 c3 80 ff ff       	call   0x5dac2e
5e2b6b:	59                   	pop    %ecx
5e2b6c:	eb ed                	jmp    0x5e2b5b
5e2b6e:	33 c0                	xor    %eax,%eax
5e2b70:	ba 00 10 00 00       	mov    $0x1000,%edx
5e2b75:	83 f9 02             	cmp    $0x2,%ecx
5e2b78:	0f 95 c0             	setne  %al
5e2b7b:	48                   	dec    %eax
5e2b7c:	23 c2                	and    %edx,%eax
5e2b7e:	03 c2                	add    %edx,%eax
5e2b80:	66 89 46 06          	mov    %ax,0x6(%esi)
5e2b84:	33 c0                	xor    %eax,%eax
5e2b86:	40                   	inc    %eax
5e2b87:	66 89 46 08          	mov    %ax,0x8(%esi)
5e2b8b:	8b 45 0c             	mov    0xc(%ebp),%eax
5e2b8e:	89 46 10             	mov    %eax,0x10(%esi)
5e2b91:	89 06                	mov    %eax,(%esi)
5e2b93:	83 f9 02             	cmp    $0x2,%ecx
5e2b96:	74 1b                	je     0x5e2bb3
5e2b98:	33 ff                	xor    %edi,%edi
5e2b9a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5e2b9d:	57                   	push   %edi
5e2b9e:	50                   	push   %eax
5e2b9f:	57                   	push   %edi
5e2ba0:	57                   	push   %edi
5e2ba1:	57                   	push   %edi
5e2ba2:	53                   	push   %ebx
5e2ba3:	ff 15 f8 20 60 00    	call   *0x6020f8
5e2ba9:	85 c0                	test   %eax,%eax
5e2bab:	74 06                	je     0x5e2bb3
5e2bad:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
5e2bb0:	89 4e 14             	mov    %ecx,0x14(%esi)
5e2bb3:	33 c0                	xor    %eax,%eax
5e2bb5:	40                   	inc    %eax
5e2bb6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5e2bb9:	5f                   	pop    %edi
5e2bba:	5e                   	pop    %esi
5e2bbb:	33 cd                	xor    %ebp,%ecx
5e2bbd:	5b                   	pop    %ebx
5e2bbe:	e8 63 ee fe ff       	call   0x5d1a26
5e2bc3:	c9                   	leave
5e2bc4:	c3                   	ret
5e2bc5:	8b ff                	mov    %edi,%edi
5e2bc7:	55                   	push   %ebp
5e2bc8:	8b ec                	mov    %esp,%ebp
5e2bca:	83 ec 28             	sub    $0x28,%esp
5e2bcd:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5e2bd2:	33 c5                	xor    %ebp,%eax
5e2bd4:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e2bd7:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5e2bdb:	75 0e                	jne    0x5e2beb
5e2bdd:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5e2be1:	75 08                	jne    0x5e2beb
5e2be3:	8b 45 10             	mov    0x10(%ebp),%eax
5e2be6:	8b 55 14             	mov    0x14(%ebp),%edx
5e2be9:	eb 55                	jmp    0x5e2c40
5e2beb:	8d 45 dc             	lea    -0x24(%ebp),%eax
5e2bee:	50                   	push   %eax
5e2bef:	8d 45 08             	lea    0x8(%ebp),%eax
5e2bf2:	50                   	push   %eax
5e2bf3:	ff 15 f0 20 60 00    	call   *0x6020f0
5e2bf9:	85 c0                	test   %eax,%eax
5e2bfb:	74 3e                	je     0x5e2c3b
5e2bfd:	8d 45 ec             	lea    -0x14(%ebp),%eax
5e2c00:	50                   	push   %eax
5e2c01:	8d 45 dc             	lea    -0x24(%ebp),%eax
5e2c04:	50                   	push   %eax
5e2c05:	6a 00                	push   $0x0
5e2c07:	ff 15 f4 20 60 00    	call   *0x6020f4
5e2c0d:	85 c0                	test   %eax,%eax
5e2c0f:	74 2a                	je     0x5e2c3b
5e2c11:	83 4d d8 ff          	orl    $0xffffffff,-0x28(%ebp)
5e2c15:	8d 45 d8             	lea    -0x28(%ebp),%eax
5e2c18:	50                   	push   %eax
5e2c19:	8d 45 f8             	lea    -0x8(%ebp),%eax
5e2c1c:	50                   	push   %eax
5e2c1d:	8d 45 f6             	lea    -0xa(%ebp),%eax
5e2c20:	50                   	push   %eax
5e2c21:	8d 45 f4             	lea    -0xc(%ebp),%eax
5e2c24:	50                   	push   %eax
5e2c25:	8d 45 f2             	lea    -0xe(%ebp),%eax
5e2c28:	50                   	push   %eax
5e2c29:	8d 45 ee             	lea    -0x12(%ebp),%eax
5e2c2c:	50                   	push   %eax
5e2c2d:	8d 45 ec             	lea    -0x14(%ebp),%eax
5e2c30:	50                   	push   %eax
5e2c31:	e8 16 00 00 00       	call   0x5e2c4c
5e2c36:	83 c4 1c             	add    $0x1c,%esp
5e2c39:	eb 05                	jmp    0x5e2c40
5e2c3b:	83 ca ff             	or     $0xffffffff,%edx
5e2c3e:	8b c2                	mov    %edx,%eax
5e2c40:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5e2c43:	33 cd                	xor    %ebp,%ecx
5e2c45:	e8 dc ed fe ff       	call   0x5d1a26
5e2c4a:	c9                   	leave
5e2c4b:	c3                   	ret
5e2c4c:	8b ff                	mov    %edi,%edi
5e2c4e:	55                   	push   %ebp
5e2c4f:	8b ec                	mov    %esp,%ebp
5e2c51:	8b 45 20             	mov    0x20(%ebp),%eax
5e2c54:	ff 30                	push   (%eax)
5e2c56:	8b 45 1c             	mov    0x1c(%ebp),%eax
5e2c59:	0f b7 00             	movzwl (%eax),%eax
5e2c5c:	50                   	push   %eax
5e2c5d:	8b 45 18             	mov    0x18(%ebp),%eax
5e2c60:	0f b7 00             	movzwl (%eax),%eax
5e2c63:	50                   	push   %eax
5e2c64:	8b 45 14             	mov    0x14(%ebp),%eax
5e2c67:	0f b7 00             	movzwl (%eax),%eax
5e2c6a:	50                   	push   %eax
5e2c6b:	8b 45 10             	mov    0x10(%ebp),%eax
5e2c6e:	0f b7 00             	movzwl (%eax),%eax
5e2c71:	50                   	push   %eax
5e2c72:	8b 45 0c             	mov    0xc(%ebp),%eax
5e2c75:	0f b7 00             	movzwl (%eax),%eax
5e2c78:	50                   	push   %eax
5e2c79:	8b 45 08             	mov    0x8(%ebp),%eax
5e2c7c:	0f b7 00             	movzwl (%eax),%eax
5e2c7f:	50                   	push   %eax
5e2c80:	e8 3b cb 00 00       	call   0x5ef7c0
5e2c85:	83 c4 1c             	add    $0x1c,%esp
5e2c88:	5d                   	pop    %ebp
5e2c89:	c3                   	ret
5e2c8a:	8b ff                	mov    %edi,%edi
5e2c8c:	55                   	push   %ebp
5e2c8d:	8b ec                	mov    %esp,%ebp
5e2c8f:	56                   	push   %esi
5e2c90:	57                   	push   %edi
5e2c91:	e8 f2 7f ff ff       	call   0x5dac88
5e2c96:	8b 38                	mov    (%eax),%edi
5e2c98:	e8 eb 7f ff ff       	call   0x5dac88
5e2c9d:	ff 75 10             	push   0x10(%ebp)
5e2ca0:	ff 75 0c             	push   0xc(%ebp)
5e2ca3:	83 20 00             	andl   $0x0,(%eax)
5e2ca6:	ff 75 08             	push   0x8(%ebp)
5e2ca9:	e8 d7 c8 00 00       	call   0x5ef585
5e2cae:	83 c4 0c             	add    $0xc,%esp
5e2cb1:	8b f0                	mov    %eax,%esi
5e2cb3:	e8 d0 7f ff ff       	call   0x5dac88
5e2cb8:	85 f6                	test   %esi,%esi
5e2cba:	74 06                	je     0x5e2cc2
5e2cbc:	89 38                	mov    %edi,(%eax)
5e2cbe:	8b c6                	mov    %esi,%eax
5e2cc0:	eb 24                	jmp    0x5e2ce6
5e2cc2:	83 38 22             	cmpl   $0x22,(%eax)
5e2cc5:	74 04                	je     0x5e2ccb
5e2cc7:	33 c0                	xor    %eax,%eax
5e2cc9:	eb 1b                	jmp    0x5e2ce6
5e2ccb:	e8 b8 7f ff ff       	call   0x5dac88
5e2cd0:	6a 00                	push   $0x0
5e2cd2:	ff 75 0c             	push   0xc(%ebp)
5e2cd5:	6a 00                	push   $0x0
5e2cd7:	89 38                	mov    %edi,(%eax)
5e2cd9:	e8 a7 c8 00 00       	call   0x5ef585
5e2cde:	8b 4d 14             	mov    0x14(%ebp),%ecx
5e2ce1:	83 c4 0c             	add    $0xc,%esp
5e2ce4:	89 01                	mov    %eax,(%ecx)
5e2ce6:	5f                   	pop    %edi
5e2ce7:	5e                   	pop    %esi
5e2ce8:	5d                   	pop    %ebp
5e2ce9:	c3                   	ret
5e2cea:	8b ff                	mov    %edi,%edi
5e2cec:	55                   	push   %ebp
5e2ced:	8b ec                	mov    %esp,%ebp
5e2cef:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e2cf2:	8b 45 08             	mov    0x8(%ebp),%eax
5e2cf5:	83 21 00             	andl   $0x0,(%ecx)
5e2cf8:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
5e2cfc:	75 10                	jne    0x5e2d0e
5e2cfe:	8b 40 24             	mov    0x24(%eax),%eax
5e2d01:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
5e2d06:	77 06                	ja     0x5e2d0e
5e2d08:	89 01                	mov    %eax,(%ecx)
5e2d0a:	b0 01                	mov    $0x1,%al
5e2d0c:	5d                   	pop    %ebp
5e2d0d:	c3                   	ret
5e2d0e:	e8 75 7f ff ff       	call   0x5dac88
5e2d13:	c7 00 84 00 00 00    	movl   $0x84,(%eax)
5e2d19:	32 c0                	xor    %al,%al
5e2d1b:	5d                   	pop    %ebp
5e2d1c:	c3                   	ret
5e2d1d:	8b ff                	mov    %edi,%edi
5e2d1f:	55                   	push   %ebp
5e2d20:	8b ec                	mov    %esp,%ebp
5e2d22:	56                   	push   %esi
5e2d23:	8b 75 08             	mov    0x8(%ebp),%esi
5e2d26:	8b c6                	mov    %esi,%eax
5e2d28:	c1 e8 04             	shr    $0x4,%eax
5e2d2b:	57                   	push   %edi
5e2d2c:	8b 7d 0c             	mov    0xc(%ebp),%edi
5e2d2f:	a8 01                	test   $0x1,%al
5e2d31:	75 10                	jne    0x5e2d43
5e2d33:	57                   	push   %edi
5e2d34:	e8 ee 00 00 00       	call   0x5e2e27
5e2d39:	84 c0                	test   %al,%al
5e2d3b:	b8 00 81 00 00       	mov    $0x8100,%eax
5e2d40:	59                   	pop    %ecx
5e2d41:	74 05                	je     0x5e2d48
5e2d43:	b8 40 41 00 00       	mov    $0x4140,%eax
5e2d48:	c1 e6 07             	shl    $0x7,%esi
5e2d4b:	f7 d6                	not    %esi
5e2d4d:	81 e6 80 00 00 00    	and    $0x80,%esi
5e2d53:	0b f0                	or     %eax,%esi
5e2d55:	0f b7 f6             	movzwl %si,%esi
5e2d58:	85 ff                	test   %edi,%edi
5e2d5a:	74 57                	je     0x5e2db3
5e2d5c:	6a 2e                	push   $0x2e
5e2d5e:	57                   	push   %edi
5e2d5f:	e8 ad 54 01 00       	call   0x5f8211
5e2d64:	8b f8                	mov    %eax,%edi
5e2d66:	59                   	pop    %ecx
5e2d67:	59                   	pop    %ecx
5e2d68:	85 ff                	test   %edi,%edi
5e2d6a:	74 47                	je     0x5e2db3
5e2d6c:	68 04 36 67 00       	push   $0x673604
5e2d71:	57                   	push   %edi
5e2d72:	e8 5c 80 ff ff       	call   0x5dadd3
5e2d77:	59                   	pop    %ecx
5e2d78:	59                   	pop    %ecx
5e2d79:	85 c0                	test   %eax,%eax
5e2d7b:	74 33                	je     0x5e2db0
5e2d7d:	68 10 36 67 00       	push   $0x673610
5e2d82:	57                   	push   %edi
5e2d83:	e8 4b 80 ff ff       	call   0x5dadd3
5e2d88:	59                   	pop    %ecx
5e2d89:	59                   	pop    %ecx
5e2d8a:	85 c0                	test   %eax,%eax
5e2d8c:	74 22                	je     0x5e2db0
5e2d8e:	68 1c 36 67 00       	push   $0x67361c
5e2d93:	57                   	push   %edi
5e2d94:	e8 3a 80 ff ff       	call   0x5dadd3
5e2d99:	59                   	pop    %ecx
5e2d9a:	59                   	pop    %ecx
5e2d9b:	85 c0                	test   %eax,%eax
5e2d9d:	74 11                	je     0x5e2db0
5e2d9f:	68 28 36 67 00       	push   $0x673628
5e2da4:	57                   	push   %edi
5e2da5:	e8 29 80 ff ff       	call   0x5dadd3
5e2daa:	59                   	pop    %ecx
5e2dab:	59                   	pop    %ecx
5e2dac:	85 c0                	test   %eax,%eax
5e2dae:	75 03                	jne    0x5e2db3
5e2db0:	83 ce 40             	or     $0x40,%esi
5e2db3:	8b c6                	mov    %esi,%eax
5e2db5:	c1 e8 03             	shr    $0x3,%eax
5e2db8:	83 e0 38             	and    $0x38,%eax
5e2dbb:	0b f0                	or     %eax,%esi
5e2dbd:	8b c6                	mov    %esi,%eax
5e2dbf:	c1 e8 06             	shr    $0x6,%eax
5e2dc2:	83 e0 07             	and    $0x7,%eax
5e2dc5:	5f                   	pop    %edi
5e2dc6:	0b c6                	or     %esi,%eax
5e2dc8:	5e                   	pop    %esi
5e2dc9:	5d                   	pop    %ebp
5e2dca:	c3                   	ret
5e2dcb:	8b ff                	mov    %edi,%edi
5e2dcd:	55                   	push   %ebp
5e2dce:	8b ec                	mov    %esp,%ebp
5e2dd0:	8b 55 08             	mov    0x8(%ebp),%edx
5e2dd3:	56                   	push   %esi
5e2dd4:	8b 75 0c             	mov    0xc(%ebp),%esi
5e2dd7:	57                   	push   %edi
5e2dd8:	33 ff                	xor    %edi,%edi
5e2dda:	89 3e                	mov    %edi,(%esi)
5e2ddc:	0f b7 0a             	movzwl (%edx),%ecx
5e2ddf:	83 f9 41             	cmp    $0x41,%ecx
5e2de2:	72 05                	jb     0x5e2de9
5e2de4:	83 f9 5a             	cmp    $0x5a,%ecx