418a53:	3b f0                	cmp    %eax,%esi
418a55:	72 0c                	jb     0x418a63
418a57:	8b d6                	mov    %esi,%edx
418a59:	2b d0                	sub    %eax,%edx
418a5b:	8b 47 50             	mov    0x50(%edi),%eax
418a5e:	8a 1c 10             	mov    (%eax,%edx,1),%bl
418a61:	eb 02                	jmp    0x418a65
418a63:	33 db                	xor    %ebx,%ebx
418a65:	8b 47 50             	mov    0x50(%edi),%eax
418a68:	8a 04 30             	mov    (%eax,%esi,1),%al
418a6b:	2a c3                	sub    %bl,%al
418a6d:	8b 57 40             	mov    0x40(%edi),%edx
418a70:	88 04 32             	mov    %al,(%edx,%esi,1)
418a73:	46                   	inc    %esi
418a74:	4d                   	dec    %ebp
418a75:	75 d9                	jne    0x418a50
418a77:	8b 47 20             	mov    0x20(%edi),%eax
418a7a:	f6 80 32 02 00 00 04 	testb  $0x4,0x232(%eax)
418a81:	74 21                	je     0x418aa4
418a83:	8b 6f 34             	mov    0x34(%edi),%ebp
418a86:	4d                   	dec    %ebp
418a87:	85 ed                	test   %ebp,%ebp
418a89:	72 19                	jb     0x418aa4
418a8b:	45                   	inc    %ebp
418a8c:	33 f6                	xor    %esi,%esi
418a8e:	8b 47 50             	mov    0x50(%edi),%eax
418a91:	8a 04 30             	mov    (%eax,%esi,1),%al
418a94:	8b 57 3c             	mov    0x3c(%edi),%edx
418a97:	2a 04 32             	sub    (%edx,%esi,1),%al
418a9a:	8b 57 44             	mov    0x44(%edi),%edx
418a9d:	88 04 32             	mov    %al,(%edx,%esi,1)
418aa0:	46                   	inc    %esi
418aa1:	4d                   	dec    %ebp
418aa2:	75 ea                	jne    0x418a8e
418aa4:	8b 47 20             	mov    0x20(%edi),%eax
418aa7:	f6 80 32 02 00 00 08 	testb  $0x8,0x232(%eax)
418aae:	74 4a                	je     0x418afa
418ab0:	8b 6f 34             	mov    0x34(%edi),%ebp
418ab3:	4d                   	dec    %ebp
418ab4:	85 ed                	test   %ebp,%ebp
418ab6:	72 42                	jb     0x418afa
418ab8:	45                   	inc    %ebp
418ab9:	33 f6                	xor    %esi,%esi
418abb:	8b 47 38             	mov    0x38(%edi),%eax
418abe:	3b f0                	cmp    %eax,%esi
418ac0:	72 0c                	jb     0x418ace
418ac2:	8b d6                	mov    %esi,%edx
418ac4:	2b d0                	sub    %eax,%edx
418ac6:	8b 47 50             	mov    0x50(%edi),%eax
418ac9:	8a 1c 10             	mov    (%eax,%edx,1),%bl
418acc:	eb 02                	jmp    0x418ad0
418ace:	33 db                	xor    %ebx,%ebx
418ad0:	8b 47 3c             	mov    0x3c(%edi),%eax
418ad3:	8a 04 30             	mov    (%eax,%esi,1),%al
418ad6:	88 44 24 10          	mov    %al,0x10(%esp)
418ada:	33 c0                	xor    %eax,%eax
418adc:	8a 44 24 10          	mov    0x10(%esp),%al
418ae0:	33 d2                	xor    %edx,%edx
418ae2:	8a d3                	mov    %bl,%dl
418ae4:	03 c2                	add    %edx,%eax
418ae6:	d1 e8                	shr    $1,%eax
418ae8:	8b 57 50             	mov    0x50(%edi),%edx
418aeb:	8a 14 32             	mov    (%edx,%esi,1),%dl
418aee:	2a d0                	sub    %al,%dl
418af0:	8b 47 48             	mov    0x48(%edi),%eax
418af3:	88 14 30             	mov    %dl,(%eax,%esi,1)
418af6:	46                   	inc    %esi
418af7:	4d                   	dec    %ebp
418af8:	75 c1                	jne    0x418abb
418afa:	8b 47 20             	mov    0x20(%edi),%eax
418afd:	f6 80 32 02 00 00 10 	testb  $0x10,0x232(%eax)
418b04:	74 5d                	je     0x418b63
418b06:	33 db                	xor    %ebx,%ebx
418b08:	c6 44 24 11 00       	movb   $0x0,0x11(%esp)
418b0d:	8b 6f 34             	mov    0x34(%edi),%ebp
418b10:	4d                   	dec    %ebp
418b11:	85 ed                	test   %ebp,%ebp
418b13:	72 4e                	jb     0x418b63
418b15:	45                   	inc    %ebp
418b16:	33 f6                	xor    %esi,%esi
418b18:	8b 47 38             	mov    0x38(%edi),%eax
418b1b:	3b f0                	cmp    %eax,%esi
418b1d:	72 19                	jb     0x418b38
418b1f:	8b d6                	mov    %esi,%edx
418b21:	2b d0                	sub    %eax,%edx
418b23:	8b 47 50             	mov    0x50(%edi),%eax
418b26:	8a 1c 10             	mov    (%eax,%edx,1),%bl
418b29:	8b c6                	mov    %esi,%eax
418b2b:	2b 47 38             	sub    0x38(%edi),%eax
418b2e:	8b 57 3c             	mov    0x3c(%edi),%edx
418b31:	8a 04 02             	mov    (%edx,%eax,1),%al
418b34:	88 44 24 11          	mov    %al,0x11(%esp)
418b38:	8b 47 3c             	mov    0x3c(%edi),%eax
418b3b:	8a 04 30             	mov    (%eax,%esi,1),%al
418b3e:	88 44 24 10          	mov    %al,0x10(%esp)
418b42:	8a 4c 24 11          	mov    0x11(%esp),%cl
418b46:	8a 54 24 10          	mov    0x10(%esp),%dl
418b4a:	8b c3                	mov    %ebx,%eax
418b4c:	e8 8f cd ff ff       	call   0x4158e0
418b51:	8b 57 50             	mov    0x50(%edi),%edx
418b54:	8a 14 32             	mov    (%edx,%esi,1),%dl
418b57:	2a d0                	sub    %al,%dl
418b59:	8b 47 4c             	mov    0x4c(%edi),%eax
418b5c:	88 14 30             	mov    %dl,(%eax,%esi,1)
418b5f:	46                   	inc    %esi
418b60:	4d                   	dec    %ebp
418b61:	75 b5                	jne    0x418b18
418b63:	8b 4f 34             	mov    0x34(%edi),%ecx
418b66:	8b 57 50             	mov    0x50(%edi),%edx
418b69:	8b 47 3c             	mov    0x3c(%edi),%eax
418b6c:	e8 f3 bf fe ff       	call   0x404b64
418b71:	8b 47 20             	mov    0x20(%edi),%eax
418b74:	8a 15 64 8c 41 00    	mov    0x418c64,%dl
418b7a:	3a 90 32 02 00 00    	cmp    0x232(%eax),%dl
418b80:	74 11                	je     0x418b93
418b82:	8b 47 20             	mov    0x20(%edi),%eax
418b85:	8a 15 68 8c 41 00    	mov    0x418c68,%dl
418b8b:	3a 90 32 02 00 00    	cmp    0x232(%eax),%dl
418b91:	75 09                	jne    0x418b9c
418b93:	c6 04 24 00          	movb   $0x0,(%esp)
418b97:	e9 bc 00 00 00       	jmp    0x418c58
418b9c:	33 c0                	xor    %eax,%eax
418b9e:	89 44 24 08          	mov    %eax,0x8(%esp)
418ba2:	c6 04 24 00          	movb   $0x0,(%esp)
418ba6:	33 f6                	xor    %esi,%esi
418ba8:	8d 5f 3c             	lea    0x3c(%edi),%ebx
418bab:	8b c6                	mov    %esi,%eax
418bad:	8b 57 20             	mov    0x20(%edi),%edx
418bb0:	3c 07                	cmp    $0x7,%al
418bb2:	77 0a                	ja     0x418bbe
418bb4:	83 e0 7f             	and    $0x7f,%eax
418bb7:	0f a3 82 32 02 00 00 	bt     %eax,0x232(%edx)
418bbe:	0f 83 87 00 00 00    	jae    0x418c4b
418bc4:	33 c0                	xor    %eax,%eax
418bc6:	89 44 24 04          	mov    %eax,0x4(%esp)
418bca:	8b d6                	mov    %esi,%edx
418bcc:	8d 44 24 14          	lea    0x14(%esp),%eax
418bd0:	b1 01                	mov    $0x1,%cl
418bd2:	e8 b1 9f fe ff       	call   0x402b88
418bd7:	8a 44 24 14          	mov    0x14(%esp),%al
418bdb:	8b 57 20             	mov    0x20(%edi),%edx
418bde:	3a 82 32 02 00 00    	cmp    0x232(%edx),%al
418be4:	75 07                	jne    0x418bed
418be6:	8b c6                	mov    %esi,%eax
418be8:	88 04 24             	mov    %al,(%esp)
418beb:	eb 6b                	jmp    0x418c58
418bed:	8b 6f 34             	mov    0x34(%edi),%ebp
418bf0:	4d                   	dec    %ebp
418bf1:	83 ed 02             	sub    $0x2,%ebp
418bf4:	72 3e                	jb     0x418c34
418bf6:	45                   	inc    %ebp
418bf7:	c7 44 24 0c 02 00 00 	movl   $0x2,0xc(%esp)
418bfe:	00
418bff:	8b 03                	mov    (%ebx),%eax
418c01:	8b 54 24 0c          	mov    0xc(%esp),%edx
418c05:	8a 04 10             	mov    (%eax,%edx,1),%al
418c08:	8b 13                	mov    (%ebx),%edx
418c0a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
418c0e:	3a 44 0a ff          	cmp    -0x1(%edx,%ecx,1),%al
418c12:	74 15                	je     0x418c29
418c14:	8b 03                	mov    (%ebx),%eax
418c16:	8b 54 24 0c          	mov    0xc(%esp),%edx
418c1a:	8a 04 10             	mov    (%eax,%edx,1),%al
418c1d:	8b 13                	mov    (%ebx),%edx
418c1f:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
418c23:	3a 44 0a fe          	cmp    -0x2(%edx,%ecx,1),%al
418c27:	75 04                	jne    0x418c2d
418c29:	ff 44 24 04          	incl   0x4(%esp)
418c2d:	ff 44 24 0c          	incl   0xc(%esp)
418c31:	4d                   	dec    %ebp
418c32:	75 cb                	jne    0x418bff
418c34:	8b 44 24 04          	mov    0x4(%esp),%eax
418c38:	3b 44 24 08          	cmp    0x8(%esp),%eax
418c3c:	76 0d                	jbe    0x418c4b
418c3e:	8b c6                	mov    %esi,%eax
418c40:	88 04 24             	mov    %al,(%esp)
418c43:	8b 44 24 04          	mov    0x4(%esp),%eax
418c47:	89 44 24 08          	mov    %eax,0x8(%esp)
418c4b:	46                   	inc    %esi
418c4c:	83 c3 04             	add    $0x4,%ebx
418c4f:	83 fe 05             	cmp    $0x5,%esi
418c52:	0f 85 53 ff ff ff    	jne    0x418bab
418c58:	8a 04 24             	mov    (%esp),%al
418c5b:	83 c4 18             	add    $0x18,%esp
418c5e:	5d                   	pop    %ebp
418c5f:	5f                   	pop    %edi
418c60:	5e                   	pop    %esi
418c61:	5b                   	pop    %ebx
418c62:	c3                   	ret
418c63:	00 01                	add    %al,(%ecx)
418c65:	00 00                	add    %al,(%eax)
418c67:	00 00                	add    %al,(%eax)
418c69:	00 00                	add    %al,(%eax)
418c6b:	00 53 56             	add    %dl,0x56(%ebx)
418c6e:	51                   	push   %ecx
418c6f:	8b da                	mov    %edx,%ebx
418c71:	8b f0                	mov    %eax,%esi
418c73:	33 c0                	xor    %eax,%eax
418c75:	8a c3                	mov    %bl,%al
418c77:	3b 46 28             	cmp    0x28(%esi),%eax
418c7a:	7c 15                	jl     0x418c91
418c7c:	c6 04 24 00          	movb   $0x0,(%esp)
418c80:	c6 44 24 01 00       	movb   $0x0,0x1(%esp)
418c85:	c6 44 24 02 00       	movb   $0x0,0x2(%esp)
418c8a:	c6 44 24 03 00       	movb   $0x0,0x3(%esp)
418c8f:	eb 12                	jmp    0x418ca3
418c91:	8b c6                	mov    %esi,%eax
418c93:	e8 5c cd ff ff       	call   0x4159f4
418c98:	33 d2                	xor    %edx,%edx
418c9a:	8a d3                	mov    %bl,%dl
418c9c:	8b 44 90 59          	mov    0x59(%eax,%edx,4),%eax
418ca0:	89 04 24             	mov    %eax,(%esp)
418ca3:	8b 04 24             	mov    (%esp),%eax
418ca6:	5a                   	pop    %edx
418ca7:	5e                   	pop    %esi
418ca8:	5b                   	pop    %ebx
418ca9:	c3                   	ret
418caa:	8b c0                	mov    %eax,%eax
418cac:	55                   	push   %ebp
418cad:	8b ec                	mov    %esp,%ebp
418caf:	83 c4 f0             	add    $0xfffffff0,%esp
418cb2:	53                   	push   %ebx
418cb3:	56                   	push   %esi
418cb4:	57                   	push   %edi
418cb5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
418cb8:	89 55 fc             	mov    %edx,-0x4(%ebp)
418cbb:	8b d8                	mov    %eax,%ebx
418cbd:	8b 75 08             	mov    0x8(%ebp),%esi
418cc0:	56                   	push   %esi
418cc1:	8b fb                	mov    %ebx,%edi
418cc3:	8b c7                	mov    %edi,%eax
418cc5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
418cc8:	8b 55 fc             	mov    -0x4(%ebp),%edx
418ccb:	e8 38 ce ff ff       	call   0x415b08
418cd0:	88 45 f7             	mov    %al,-0x9(%ebp)
418cd3:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
418cd7:	0f 84 94 00 00 00    	je     0x418d71
418cdd:	8b df                	mov    %edi,%ebx
418cdf:	8b c6                	mov    %esi,%eax
418ce1:	b9 03 00 00 00       	mov    $0x3,%ecx
418ce6:	99                   	cltd
418ce7:	f7 f9                	idiv   %ecx
418ce9:	85 d2                	test   %edx,%edx
418ceb:	75 11                	jne    0x418cfe
418ced:	8b c6                	mov    %esi,%eax
418cef:	b9 03 00 00 00       	mov    $0x3,%ecx
418cf4:	99                   	cltd
418cf5:	f7 f9                	idiv   %ecx
418cf7:	3d 00 01 00 00       	cmp    $0x100,%eax
418cfc:	7e 0d                	jle    0x418d0b
418cfe:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
418d02:	8b 43 20             	mov    0x20(%ebx),%eax
418d05:	c6 40 30 06          	movb   $0x6,0x30(%eax)
418d09:	eb 66                	jmp    0x418d71
418d0b:	8b c6                	mov    %esi,%eax
418d0d:	b9 03 00 00 00       	mov    $0x3,%ecx
418d12:	99                   	cltd
418d13:	f7 f9                	idiv   %ecx
418d15:	89 43 28             	mov    %eax,0x28(%ebx)
418d18:	8b 43 18             	mov    0x18(%ebx),%eax
418d1b:	89 45 f0             	mov    %eax,-0x10(%ebp)
418d1e:	8b 73 28             	mov    0x28(%ebx),%esi
418d21:	4e                   	dec    %esi
418d22:	85 f6                	test   %esi,%esi
418d24:	7c 4b                	jl     0x418d71
418d26:	46                   	inc    %esi
418d27:	33 ff                	xor    %edi,%edi
418d29:	8b c3                	mov    %ebx,%eax
418d2b:	e8 c4 cc ff ff       	call   0x4159f4
418d30:	8d 44 b8 59          	lea    0x59(%eax,%edi,4),%eax
418d34:	8b 55 f0             	mov    -0x10(%ebp),%edx
418d37:	0f b6 12             	movzbl (%edx),%edx
418d3a:	8b 4b 20             	mov    0x20(%ebx),%ecx
418d3d:	8a 54 11 32          	mov    0x32(%ecx,%edx,1),%dl
418d41:	88 50 02             	mov    %dl,0x2(%eax)
418d44:	8b 55 f0             	mov    -0x10(%ebp),%edx
418d47:	0f b6 52 01          	movzbl 0x1(%edx),%edx
418d4b:	8b 4b 20             	mov    0x20(%ebx),%ecx
418d4e:	8a 54 11 32          	mov    0x32(%ecx,%edx,1),%dl
418d52:	88 50 01             	mov    %dl,0x1(%eax)
418d55:	8b 55 f0             	mov    -0x10(%ebp),%edx
418d58:	0f b6 52 02          	movzbl 0x2(%edx),%edx
418d5c:	8b 4b 20             	mov    0x20(%ebx),%ecx
418d5f:	8a 54 11 32          	mov    0x32(%ecx,%edx,1),%dl
418d63:	88 10                	mov    %dl,(%eax)
418d65:	c6 40 03 00          	movb   $0x0,0x3(%eax)
418d69:	83 45 f0 03          	addl   $0x3,-0x10(%ebp)
418d6d:	47                   	inc    %edi
418d6e:	4e                   	dec    %esi
418d6f:	75 b8                	jne    0x418d29
418d71:	8a 45 f7             	mov    -0x9(%ebp),%al
418d74:	5f                   	pop    %edi
418d75:	5e                   	pop    %esi
418d76:	5b                   	pop    %ebx
418d77:	8b e5                	mov    %ebp,%esp
418d79:	5d                   	pop    %ebp
418d7a:	c2 04 00             	ret    $0x4
418d7d:	8d 40 00             	lea    0x0(%eax),%eax
418d80:	53                   	push   %ebx
418d81:	56                   	push   %esi
418d82:	57                   	push   %edi
418d83:	55                   	push   %ebp
418d84:	83 c4 f8             	add    $0xfffffff8,%esp
418d87:	89 14 24             	mov    %edx,(%esp)
418d8a:	8b f8                	mov    %eax,%edi
418d8c:	8b 57 28             	mov    0x28(%edi),%edx
418d8f:	8d 14 52             	lea    (%edx,%edx,2),%edx
418d92:	8b c7                	mov    %edi,%eax
418d94:	e8 37 cc ff ff       	call   0x4159d0
418d99:	8b 47 18             	mov    0x18(%edi),%eax
418d9c:	89 44 24 04          	mov    %eax,0x4(%esp)
418da0:	8b c7                	mov    %edi,%eax
418da2:	e8 4d cc ff ff       	call   0x4159f4
418da7:	8b 4f 28             	mov    0x28(%edi),%ecx
418daa:	49                   	dec    %ecx
418dab:	85 c9                	test   %ecx,%ecx
418dad:	7c 56                	jl     0x418e05
418daf:	41                   	inc    %ecx
418db0:	33 f6                	xor    %esi,%esi
418db2:	8d 54 b0 59          	lea    0x59(%eax,%esi,4),%edx
418db6:	33 db                	xor    %ebx,%ebx
418db8:	8a 5a 02             	mov    0x2(%edx),%bl
418dbb:	8b 68 20             	mov    0x20(%eax),%ebp
418dbe:	8a 9c 1d 32 01 00 00 	mov    0x132(%ebp,%ebx,1),%bl
418dc5:	8b 6c 24 04          	mov    0x4(%esp),%ebp
418dc9:	88 5d 00             	mov    %bl,0x0(%ebp)
418dcc:	ff 44 24 04          	incl   0x4(%esp)
418dd0:	33 db                	xor    %ebx,%ebx
418dd2:	8a 5a 01             	mov    0x1(%edx),%bl
418dd5:	8b 68 20             	mov    0x20(%eax),%ebp
418dd8:	8a 9c 1d 32 01 00 00 	mov    0x132(%ebp,%ebx,1),%bl
418ddf:	8b 6c 24 04          	mov    0x4(%esp),%ebp
418de3:	88 5d 00             	mov    %bl,0x0(%ebp)
418de6:	ff 44 24 04          	incl   0x4(%esp)
418dea:	0f b6 12             	movzbl (%edx),%edx
418ded:	8b 58 20             	mov    0x20(%eax),%ebx
418df0:	8a 94 13 32 01 00 00 	mov    0x132(%ebx,%edx,1),%dl
418df7:	8b 5c 24 04          	mov    0x4(%esp),%ebx
418dfb:	88 13                	mov    %dl,(%ebx)
418dfd:	ff 44 24 04          	incl   0x4(%esp)
418e01:	46                   	inc    %esi
418e02:	49                   	dec    %ecx
418e03:	75 ad                	jne    0x418db2
418e05:	8b c7                	mov    %edi,%eax
418e07:	8b 14 24             	mov    (%esp),%edx
418e0a:	e8 55 cc ff ff       	call   0x415a64
418e0f:	59                   	pop    %ecx
418e10:	5a                   	pop    %edx
418e11:	5d                   	pop    %ebp
418e12:	5f                   	pop    %edi