402b1a:	3b 55 18             	cmp    0x18(%ebp),%edx
402b1d:	74 26                	je     0x402b45
402b1f:	8b c2                	mov    %edx,%eax
402b21:	42                   	inc    %edx
402b22:	89 55 14             	mov    %edx,0x14(%ebp)
402b25:	8a 10                	mov    (%eax),%dl
402b27:	8d 41 01             	lea    0x1(%ecx),%eax
402b2a:	89 45 0c             	mov    %eax,0xc(%ebp)
402b2d:	8a 01                	mov    (%ecx),%al
402b2f:	8d 4d 1c             	lea    0x1c(%ebp),%ecx
402b32:	52                   	push   %edx
402b33:	50                   	push   %eax
402b34:	e8 f5 d5 00 00       	call   0x41012e
402b39:	84 c0                	test   %al,%al
402b3b:	74 0b                	je     0x402b48
402b3d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402b40:	eb d0                	jmp    0x402b12
402b42:	3b 55 18             	cmp    0x18(%ebp),%edx
402b45:	0f 44 f1             	cmove  %ecx,%esi
402b48:	8b 45 08             	mov    0x8(%ebp),%eax
402b4b:	89 30                	mov    %esi,(%eax)
402b4d:	5e                   	pop    %esi
402b4e:	5d                   	pop    %ebp
402b4f:	c3                   	ret
402b50:	55                   	push   %ebp
402b51:	8b ec                	mov    %esp,%ebp
402b53:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402b56:	8b 55 14             	mov    0x14(%ebp),%edx
402b59:	53                   	push   %ebx
402b5a:	56                   	push   %esi
402b5b:	8b f1                	mov    %ecx,%esi
402b5d:	3b 4d 10             	cmp    0x10(%ebp),%ecx
402b60:	74 1b                	je     0x402b7d
402b62:	3b 55 18             	cmp    0x18(%ebp),%edx
402b65:	74 19                	je     0x402b80
402b67:	8b c2                	mov    %edx,%eax
402b69:	42                   	inc    %edx
402b6a:	89 55 14             	mov    %edx,0x14(%ebp)
402b6d:	8a 18                	mov    (%eax),%bl
402b6f:	8b c1                	mov    %ecx,%eax
402b71:	8d 48 01             	lea    0x1(%eax),%ecx
402b74:	89 4d 0c             	mov    %ecx,0xc(%ebp)
402b77:	38 18                	cmp    %bl,(%eax)
402b79:	75 08                	jne    0x402b83
402b7b:	eb e0                	jmp    0x402b5d
402b7d:	3b 55 18             	cmp    0x18(%ebp),%edx
402b80:	0f 44 f1             	cmove  %ecx,%esi
402b83:	8b 45 08             	mov    0x8(%ebp),%eax
402b86:	89 30                	mov    %esi,(%eax)
402b88:	5e                   	pop    %esi
402b89:	5b                   	pop    %ebx
402b8a:	5d                   	pop    %ebp
402b8b:	c3                   	ret
402b8c:	55                   	push   %ebp
402b8d:	8b ec                	mov    %esp,%ebp
402b8f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402b92:	56                   	push   %esi
402b93:	8b f1                	mov    %ecx,%esi
402b95:	8b 55 14             	mov    0x14(%ebp),%edx
402b98:	3b 4d 10             	cmp    0x10(%ebp),%ecx
402b9b:	74 28                	je     0x402bc5
402b9d:	3b 55 18             	cmp    0x18(%ebp),%edx
402ba0:	74 26                	je     0x402bc8
402ba2:	8b c2                	mov    %edx,%eax
402ba4:	42                   	inc    %edx
402ba5:	89 55 14             	mov    %edx,0x14(%ebp)
402ba8:	8a 10                	mov    (%eax),%dl
402baa:	8d 41 01             	lea    0x1(%ecx),%eax
402bad:	89 45 0c             	mov    %eax,0xc(%ebp)
402bb0:	8a 01                	mov    (%ecx),%al
402bb2:	8d 4d 1c             	lea    0x1c(%ebp),%ecx
402bb5:	52                   	push   %edx
402bb6:	50                   	push   %eax
402bb7:	e8 1e d6 00 00       	call   0x4101da
402bbc:	84 c0                	test   %al,%al
402bbe:	74 0b                	je     0x402bcb
402bc0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402bc3:	eb d0                	jmp    0x402b95
402bc5:	3b 55 18             	cmp    0x18(%ebp),%edx
402bc8:	0f 44 f1             	cmove  %ecx,%esi
402bcb:	8b 45 08             	mov    0x8(%ebp),%eax
402bce:	89 30                	mov    %esi,(%eax)
402bd0:	5e                   	pop    %esi
402bd1:	5d                   	pop    %ebp
402bd2:	c3                   	ret
402bd3:	55                   	push   %ebp
402bd4:	8b ec                	mov    %esp,%ebp
402bd6:	8b 45 0c             	mov    0xc(%ebp),%eax
402bd9:	56                   	push   %esi
402bda:	57                   	push   %edi
402bdb:	8b 7d 14             	mov    0x14(%ebp),%edi
402bde:	8b f0                	mov    %eax,%esi
402be0:	3b 45 10             	cmp    0x10(%ebp),%eax
402be3:	74 27                	je     0x402c0c
402be5:	3b 7d 18             	cmp    0x18(%ebp),%edi
402be8:	74 25                	je     0x402c0f
402bea:	0f b7 17             	movzwl (%edi),%edx
402bed:	8d 48 02             	lea    0x2(%eax),%ecx
402bf0:	89 4d 0c             	mov    %ecx,0xc(%ebp)
402bf3:	83 c7 02             	add    $0x2,%edi
402bf6:	0f b7 00             	movzwl (%eax),%eax
402bf9:	8d 4d 1c             	lea    0x1c(%ebp),%ecx
402bfc:	52                   	push   %edx
402bfd:	50                   	push   %eax
402bfe:	e8 53 d5 00 00       	call   0x410156
402c03:	84 c0                	test   %al,%al
402c05:	74 0b                	je     0x402c12
402c07:	8b 45 0c             	mov    0xc(%ebp),%eax
402c0a:	eb d4                	jmp    0x402be0
402c0c:	3b 7d 18             	cmp    0x18(%ebp),%edi
402c0f:	0f 44 f0             	cmove  %eax,%esi
402c12:	8b 45 08             	mov    0x8(%ebp),%eax
402c15:	5f                   	pop    %edi
402c16:	89 30                	mov    %esi,(%eax)
402c18:	5e                   	pop    %esi
402c19:	5d                   	pop    %ebp
402c1a:	c3                   	ret
402c1b:	55                   	push   %ebp
402c1c:	8b ec                	mov    %esp,%ebp
402c1e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402c21:	8b d1                	mov    %ecx,%edx
402c23:	56                   	push   %esi
402c24:	57                   	push   %edi
402c25:	8b 7d 14             	mov    0x14(%ebp),%edi
402c28:	3b 4d 10             	cmp    0x10(%ebp),%ecx
402c2b:	74 1a                	je     0x402c47
402c2d:	3b 7d 18             	cmp    0x18(%ebp),%edi
402c30:	74 18                	je     0x402c4a
402c32:	0f b7 37             	movzwl (%edi),%esi
402c35:	8b c1                	mov    %ecx,%eax
402c37:	83 c7 02             	add    $0x2,%edi
402c3a:	8d 48 02             	lea    0x2(%eax),%ecx
402c3d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
402c40:	66 39 30             	cmp    %si,(%eax)
402c43:	75 08                	jne    0x402c4d
402c45:	eb e1                	jmp    0x402c28
402c47:	3b 7d 18             	cmp    0x18(%ebp),%edi
402c4a:	0f 44 d1             	cmove  %ecx,%edx
402c4d:	8b 45 08             	mov    0x8(%ebp),%eax
402c50:	5f                   	pop    %edi
402c51:	5e                   	pop    %esi
402c52:	89 10                	mov    %edx,(%eax)
402c54:	5d                   	pop    %ebp
402c55:	c3                   	ret
402c56:	55                   	push   %ebp
402c57:	8b ec                	mov    %esp,%ebp
402c59:	8b 45 0c             	mov    0xc(%ebp),%eax
402c5c:	56                   	push   %esi
402c5d:	57                   	push   %edi
402c5e:	8b 7d 14             	mov    0x14(%ebp),%edi
402c61:	8b f0                	mov    %eax,%esi
402c63:	3b 45 10             	cmp    0x10(%ebp),%eax
402c66:	74 27                	je     0x402c8f
402c68:	3b 7d 18             	cmp    0x18(%ebp),%edi
402c6b:	74 25                	je     0x402c92
402c6d:	0f b7 17             	movzwl (%edi),%edx
402c70:	8d 48 02             	lea    0x2(%eax),%ecx
402c73:	89 4d 0c             	mov    %ecx,0xc(%ebp)
402c76:	83 c7 02             	add    $0x2,%edi
402c79:	0f b7 00             	movzwl (%eax),%eax
402c7c:	8d 4d 1c             	lea    0x1c(%ebp),%ecx
402c7f:	52                   	push   %edx
402c80:	50                   	push   %eax
402c81:	e8 82 d5 00 00       	call   0x410208
402c86:	84 c0                	test   %al,%al
402c88:	74 0b                	je     0x402c95
402c8a:	8b 45 0c             	mov    0xc(%ebp),%eax
402c8d:	eb d4                	jmp    0x402c63
402c8f:	3b 7d 18             	cmp    0x18(%ebp),%edi
402c92:	0f 44 f0             	cmove  %eax,%esi
402c95:	8b 45 08             	mov    0x8(%ebp),%eax
402c98:	5f                   	pop    %edi
402c99:	89 30                	mov    %esi,(%eax)
402c9b:	5e                   	pop    %esi
402c9c:	5d                   	pop    %ebp
402c9d:	c3                   	ret
402c9e:	55                   	push   %ebp
402c9f:	8b ec                	mov    %esp,%ebp
402ca1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402ca4:	56                   	push   %esi
402ca5:	8b f1                	mov    %ecx,%esi
402ca7:	8b 55 14             	mov    0x14(%ebp),%edx
402caa:	3b 4d 10             	cmp    0x10(%ebp),%ecx
402cad:	74 2c                	je     0x402cdb
402caf:	3b 55 18             	cmp    0x18(%ebp),%edx
402cb2:	74 2a                	je     0x402cde
402cb4:	8b c2                	mov    %edx,%eax
402cb6:	83 c2 02             	add    $0x2,%edx
402cb9:	89 55 14             	mov    %edx,0x14(%ebp)
402cbc:	0f b7 10             	movzwl (%eax),%edx
402cbf:	8d 41 02             	lea    0x2(%ecx),%eax
402cc2:	89 45 0c             	mov    %eax,0xc(%ebp)
402cc5:	0f b7 01             	movzwl (%ecx),%eax
402cc8:	8d 4d 1c             	lea    0x1c(%ebp),%ecx
402ccb:	52                   	push   %edx
402ccc:	50                   	push   %eax
402ccd:	e8 84 d4 00 00       	call   0x410156
402cd2:	84 c0                	test   %al,%al
402cd4:	74 0b                	je     0x402ce1
402cd6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402cd9:	eb cc                	jmp    0x402ca7
402cdb:	3b 55 18             	cmp    0x18(%ebp),%edx
402cde:	0f 44 f1             	cmove  %ecx,%esi
402ce1:	8b 45 08             	mov    0x8(%ebp),%eax
402ce4:	89 30                	mov    %esi,(%eax)
402ce6:	5e                   	pop    %esi
402ce7:	5d                   	pop    %ebp
402ce8:	c3                   	ret
402ce9:	55                   	push   %ebp
402cea:	8b ec                	mov    %esp,%ebp
402cec:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402cef:	8b 55 14             	mov    0x14(%ebp),%edx
402cf2:	56                   	push   %esi
402cf3:	57                   	push   %edi
402cf4:	8b f1                	mov    %ecx,%esi
402cf6:	3b 4d 10             	cmp    0x10(%ebp),%ecx
402cf9:	74 1f                	je     0x402d1a
402cfb:	3b 55 18             	cmp    0x18(%ebp),%edx
402cfe:	74 1d                	je     0x402d1d
402d00:	8b c2                	mov    %edx,%eax
402d02:	83 c2 02             	add    $0x2,%edx
402d05:	89 55 14             	mov    %edx,0x14(%ebp)
402d08:	0f b7 38             	movzwl (%eax),%edi
402d0b:	8b c1                	mov    %ecx,%eax
402d0d:	8d 48 02             	lea    0x2(%eax),%ecx
402d10:	89 4d 0c             	mov    %ecx,0xc(%ebp)
402d13:	66 39 38             	cmp    %di,(%eax)
402d16:	75 08                	jne    0x402d20
402d18:	eb dc                	jmp    0x402cf6
402d1a:	3b 55 18             	cmp    0x18(%ebp),%edx
402d1d:	0f 44 f1             	cmove  %ecx,%esi
402d20:	8b 45 08             	mov    0x8(%ebp),%eax
402d23:	5f                   	pop    %edi
402d24:	89 30                	mov    %esi,(%eax)
402d26:	5e                   	pop    %esi
402d27:	5d                   	pop    %ebp
402d28:	c3                   	ret
402d29:	55                   	push   %ebp
402d2a:	8b ec                	mov    %esp,%ebp
402d2c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402d2f:	56                   	push   %esi
402d30:	8b f1                	mov    %ecx,%esi
402d32:	8b 55 14             	mov    0x14(%ebp),%edx
402d35:	3b 4d 10             	cmp    0x10(%ebp),%ecx
402d38:	74 2c                	je     0x402d66
402d3a:	3b 55 18             	cmp    0x18(%ebp),%edx
402d3d:	74 2a                	je     0x402d69
402d3f:	8b c2                	mov    %edx,%eax
402d41:	83 c2 02             	add    $0x2,%edx
402d44:	89 55 14             	mov    %edx,0x14(%ebp)
402d47:	0f b7 10             	movzwl (%eax),%edx
402d4a:	8d 41 02             	lea    0x2(%ecx),%eax
402d4d:	89 45 0c             	mov    %eax,0xc(%ebp)
402d50:	0f b7 01             	movzwl (%ecx),%eax
402d53:	8d 4d 1c             	lea    0x1c(%ebp),%ecx
402d56:	52                   	push   %edx
402d57:	50                   	push   %eax
402d58:	e8 ab d4 00 00       	call   0x410208
402d5d:	84 c0                	test   %al,%al
402d5f:	74 0b                	je     0x402d6c
402d61:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402d64:	eb cc                	jmp    0x402d32
402d66:	3b 55 18             	cmp    0x18(%ebp),%edx
402d69:	0f 44 f1             	cmove  %ecx,%esi
402d6c:	8b 45 08             	mov    0x8(%ebp),%eax
402d6f:	89 30                	mov    %esi,(%eax)
402d71:	5e                   	pop    %esi
402d72:	5d                   	pop    %ebp
402d73:	c3                   	ret
402d74:	6a 24                	push   $0x24
402d76:	b8 8b a0 48 00       	mov    $0x48a08b,%eax
402d7b:	e8 35 cd 03 00       	call   0x43fab5
402d80:	8b d9                	mov    %ecx,%ebx
402d82:	89 5d ec             	mov    %ebx,-0x14(%ebp)
402d85:	33 ff                	xor    %edi,%edi
402d87:	89 7d e8             	mov    %edi,-0x18(%ebp)
402d8a:	57                   	push   %edi
402d8b:	53                   	push   %ebx
402d8c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
402d8f:	e8 1d a3 00 00       	call   0x40d0b1
402d94:	89 7d fc             	mov    %edi,-0x4(%ebp)
402d97:	80 7d e4 00          	cmpb   $0x0,-0x1c(%ebp)
402d9b:	0f 84 9a 00 00 00    	je     0x402e3b
402da1:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402da5:	8b 03                	mov    (%ebx),%eax
402da7:	8b 48 04             	mov    0x4(%eax),%ecx
402daa:	03 cb                	add    %ebx,%ecx
402dac:	8d 45 d8             	lea    -0x28(%ebp),%eax
402daf:	50                   	push   %eax
402db0:	e8 61 ef 01 00       	call   0x421d16
402db5:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
402db9:	50                   	push   %eax
402dba:	e8 49 60 00 00       	call   0x408e08
402dbf:	59                   	pop    %ecx
402dc0:	8b f0                	mov    %eax,%esi
402dc2:	8b 0b                	mov    (%ebx),%ecx
402dc4:	8b 49 04             	mov    0x4(%ecx),%ecx
402dc7:	03 cb                	add    %ebx,%ecx
402dc9:	ff 75 08             	push   0x8(%ebp)
402dcc:	8d 45 e8             	lea    -0x18(%ebp),%eax
402dcf:	50                   	push   %eax
402dd0:	51                   	push   %ecx
402dd1:	51                   	push   %ecx
402dd2:	51                   	push   %ecx
402dd3:	8b c4                	mov    %esp,%eax
402dd5:	89 38                	mov    %edi,(%eax)
402dd7:	c6 40 04 01          	movb   $0x1,0x4(%eax)
402ddb:	33 c9                	xor    %ecx,%ecx
402ddd:	66 89 48 06          	mov    %cx,0x6(%eax)
402de1:	51                   	push   %ecx
402de2:	51                   	push   %ecx
402de3:	8b cc                	mov    %esp,%ecx
402de5:	53                   	push   %ebx
402de6:	e8 ef 87 00 00       	call   0x40b5da
402deb:	8d 45 d0             	lea    -0x30(%ebp),%eax
402dee:	50                   	push   %eax
402def:	8b ce                	mov    %esi,%ecx
402df1:	e8 48 ee 01 00       	call   0x421c3e
402df6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402dfa:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402dfd:	e8 e5 c5 00 00       	call   0x40f3e7
402e02:	89 7d fc             	mov    %edi,-0x4(%ebp)
402e05:	eb 34                	jmp    0x402e3b
402e07:	8b 4d ec             	mov    -0x14(%ebp),%ecx
402e0a:	8b 01                	mov    (%ecx),%eax
402e0c:	8b 70 04             	mov    0x4(%eax),%esi
402e0f:	03 f1                	add    %ecx,%esi
402e11:	8b 56 0c             	mov    0xc(%esi),%edx
402e14:	83 ca 04             	or     $0x4,%edx
402e17:	6a 01                	push   $0x1
402e19:	8b c2                	mov    %edx,%eax
402e1b:	83 c8 04             	or     $0x4,%eax
402e1e:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
402e22:	0f 44 d0             	cmove  %eax,%edx
402e25:	52                   	push   %edx
402e26:	8b ce                	mov    %esi,%ecx
402e28:	e8 1c cb 01 00       	call   0x41f949
402e2d:	b8 33 2e 40 00       	mov    $0x402e33,%eax
402e32:	c3                   	ret
402e33:	33 ff                	xor    %edi,%edi
402e35:	89 7d fc             	mov    %edi,-0x4(%ebp)
402e38:	8b 5d ec             	mov    -0x14(%ebp),%ebx
402e3b:	8b 03                	mov    (%ebx),%eax
402e3d:	8b 48 04             	mov    0x4(%eax),%ecx
402e40:	03 cb                	add    %ebx,%ecx
402e42:	8b 51 0c             	mov    0xc(%ecx),%edx
402e45:	0b 55 e8             	or     -0x18(%ebp),%edx
402e48:	57                   	push   %edi
402e49:	8b c2                	mov    %edx,%eax
402e4b:	83 c8 04             	or     $0x4,%eax