5f9b5b:	8b 46 34             	mov    0x34(%esi),%eax
5f9b5e:	48                   	dec    %eax
5f9b5f:	85 c0                	test   %eax,%eax
5f9b61:	0f 8c ee 0d 00 00    	jl     0x5fa955
5f9b67:	40                   	inc    %eax
5f9b68:	89 44 24 30          	mov    %eax,0x30(%esp)
5f9b6c:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f9b73:	00
5f9b74:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9b78:	8b 04 24             	mov    (%esp),%eax
5f9b7b:	8b 08                	mov    (%eax),%ecx
5f9b7d:	ff 11                	call   *(%ecx)
5f9b7f:	89 44 24 0c          	mov    %eax,0xc(%esp)
5f9b83:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9b87:	8b c6                	mov    %esi,%eax
5f9b89:	8b 08                	mov    (%eax),%ecx
5f9b8b:	ff 11                	call   *(%ecx)
5f9b8d:	8b f8                	mov    %eax,%edi
5f9b8f:	8b 5e 30             	mov    0x30(%esi),%ebx
5f9b92:	4b                   	dec    %ebx
5f9b93:	85 db                	test   %ebx,%ebx
5f9b95:	7c 30                	jl     0x5f9bc7
5f9b97:	43                   	inc    %ebx
5f9b98:	8b 44 24 0c          	mov    0xc(%esp),%eax
5f9b9c:	66 8b 00             	mov    (%eax),%ax
5f9b9f:	66 89 07             	mov    %ax,(%edi)
5f9ba2:	83 c7 02             	add    $0x2,%edi
5f9ba5:	8b 44 24 0c          	mov    0xc(%esp),%eax
5f9ba9:	66 8b 00             	mov    (%eax),%ax
5f9bac:	66 89 07             	mov    %ax,(%edi)
5f9baf:	83 c7 02             	add    $0x2,%edi
5f9bb2:	8b 44 24 0c          	mov    0xc(%esp),%eax
5f9bb6:	66 8b 00             	mov    (%eax),%ax
5f9bb9:	66 89 07             	mov    %ax,(%edi)
5f9bbc:	83 c7 02             	add    $0x2,%edi
5f9bbf:	83 44 24 0c 02       	addl   $0x2,0xc(%esp)
5f9bc4:	4b                   	dec    %ebx
5f9bc5:	75 d1                	jne    0x5f9b98
5f9bc7:	ff 44 24 04          	incl   0x4(%esp)
5f9bcb:	ff 4c 24 30          	decl   0x30(%esp)
5f9bcf:	75 a3                	jne    0x5f9b74
5f9bd1:	e9 7f 0d 00 00       	jmp    0x5fa955
5f9bd6:	33 c0                	xor    %eax,%eax
5f9bd8:	8a 46 40             	mov    0x40(%esi),%al
5f9bdb:	83 f8 08             	cmp    $0x8,%eax
5f9bde:	0f 87 71 0d 00 00    	ja     0x5fa955
5f9be4:	ff 24 85 eb 9b 5f 00 	jmp    *0x5f9beb(,%eax,4)
5f9beb:	55                   	push   %ebp
5f9bec:	a9 5f 00 0f 9c       	test   $0x9c0f005f,%eax
5f9bf1:	5f                   	pop    %edi
5f9bf2:	00 0f                	add    %cl,(%edi)
5f9bf4:	9d                   	popf
5f9bf5:	5f                   	pop    %edi
5f9bf6:	00 f0                	add    %dh,%al
5f9bf8:	9d                   	popf
5f9bf9:	5f                   	pop    %edi
5f9bfa:	00 80 9e 5f 00 55    	add    %al,0x55005f9e(%eax)
5f9c00:	a9 5f 00 1d 9f       	test   $0x9f1d005f,%eax
5f9c05:	5f                   	pop    %edi
5f9c06:	00 e6                	add    %ah,%dh
5f9c08:	9f                   	lahf
5f9c09:	5f                   	pop    %edi
5f9c0a:	00 5a a0             	add    %bl,-0x60(%edx)
5f9c0d:	5f                   	pop    %edi
5f9c0e:	00 8a 46 4c 2c 01    	add    %cl,0x12c4c46(%edx)
5f9c14:	72 0b                	jb     0x5f9c21
5f9c16:	0f 84 d8 00 00 00    	je     0x5f9cf4
5f9c1c:	e9 34 0d 00 00       	jmp    0x5fa955
5f9c21:	8b 46 34             	mov    0x34(%esi),%eax
5f9c24:	48                   	dec    %eax
5f9c25:	85 c0                	test   %eax,%eax
5f9c27:	0f 8c 28 0d 00 00    	jl     0x5fa955
5f9c2d:	40                   	inc    %eax
5f9c2e:	89 44 24 30          	mov    %eax,0x30(%esp)
5f9c32:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f9c39:	00
5f9c3a:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9c3e:	8b 04 24             	mov    (%esp),%eax
5f9c41:	8b 08                	mov    (%eax),%ecx
5f9c43:	ff 11                	call   *(%ecx)
5f9c45:	89 44 24 10          	mov    %eax,0x10(%esp)
5f9c49:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9c4d:	8b c6                	mov    %esi,%eax
5f9c4f:	8b 08                	mov    (%eax),%ecx
5f9c51:	ff 11                	call   *(%ecx)
5f9c53:	8b f8                	mov    %eax,%edi
5f9c55:	8b 5e 30             	mov    0x30(%esi),%ebx
5f9c58:	4b                   	dec    %ebx
5f9c59:	85 db                	test   %ebx,%ebx
5f9c5b:	0f 8c 80 00 00 00    	jl     0x5f9ce1
5f9c61:	43                   	inc    %ebx
5f9c62:	33 ed                	xor    %ebp,%ebp
5f9c64:	8b 44 24 10          	mov    0x10(%esp),%eax
5f9c68:	89 44 24 40          	mov    %eax,0x40(%esp)
5f9c6c:	8b 44 24 40          	mov    0x40(%esp),%eax
5f9c70:	0f b6 40 02          	movzbl 0x2(%eax),%eax
5f9c74:	8b 15 24 72 6a 00    	mov    0x6a7224,%edx
5f9c7a:	f7 2a                	imull  (%edx)
5f9c7c:	8b 54 24 40          	mov    0x40(%esp),%edx
5f9c80:	0f b6 52 01          	movzbl 0x1(%edx),%edx
5f9c84:	8b 0d 4c 71 6a 00    	mov    0x6a714c,%ecx
5f9c8a:	0f af 11             	imul   (%ecx),%edx
5f9c8d:	03 c2                	add    %edx,%eax
5f9c8f:	8b 54 24 40          	mov    0x40(%esp),%edx
5f9c93:	0f b6 12             	movzbl (%edx),%edx
5f9c96:	8b 0d bc 6d 6a 00    	mov    0x6a6dbc,%ecx
5f9c9c:	0f af 11             	imul   (%ecx),%edx
5f9c9f:	03 c2                	add    %edx,%eax
5f9ca1:	b9 64 00 00 00       	mov    $0x64,%ecx
5f9ca6:	99                   	cltd
5f9ca7:	f7 f9                	idiv   %ecx
5f9ca9:	c1 e8 02             	shr    $0x2,%eax
5f9cac:	8b d5                	mov    %ebp,%edx
5f9cae:	83 e2 07             	and    $0x7,%edx
5f9cb1:	c1 e2 02             	shl    $0x2,%edx
5f9cb4:	8b 0d c0 6f 6a 00    	mov    0x6a6fc0,%ecx
5f9cba:	8d 14 d1             	lea    (%ecx,%edx,8),%edx
5f9cbd:	52                   	push   %edx
5f9cbe:	8b 54 24 08          	mov    0x8(%esp),%edx
5f9cc2:	83 e2 07             	and    $0x7,%edx
5f9cc5:	59                   	pop    %ecx
5f9cc6:	3b 04 91             	cmp    (%ecx,%edx,4),%eax
5f9cc9:	0f 9f c1             	setg   %cl
5f9ccc:	83 e1 7f             	and    $0x7f,%ecx
5f9ccf:	8b d5                	mov    %ebp,%edx
5f9cd1:	8b c7                	mov    %edi,%eax
5f9cd3:	e8 44 5e fb ff       	call   0x5afb1c
5f9cd8:	83 44 24 10 03       	addl   $0x3,0x10(%esp)
5f9cdd:	45                   	inc    %ebp
5f9cde:	4b                   	dec    %ebx
5f9cdf:	75 83                	jne    0x5f9c64
5f9ce1:	ff 44 24 04          	incl   0x4(%esp)
5f9ce5:	ff 4c 24 30          	decl   0x30(%esp)
5f9ce9:	0f 85 4b ff ff ff    	jne    0x5f9c3a
5f9cef:	e9 61 0c 00 00       	jmp    0x5fa955
5f9cf4:	8d 84 24 58 03 00 00 	lea    0x358(%esp),%eax
5f9cfb:	50                   	push   %eax
5f9cfc:	83 c9 ff             	or     $0xffffffff,%ecx
5f9cff:	8b d6                	mov    %esi,%edx
5f9d01:	8b 44 24 04          	mov    0x4(%esp),%eax
5f9d05:	e8 a2 fc fb ff       	call   0x5b99ac
5f9d0a:	e9 46 0c 00 00       	jmp    0x5fa955
5f9d0f:	8d 44 24 54          	lea    0x54(%esp),%eax
5f9d13:	50                   	push   %eax
5f9d14:	68 ff 00 00 00       	push   $0xff
5f9d19:	8b 46 50             	mov    0x50(%esi),%eax
5f9d1c:	50                   	push   %eax
5f9d1d:	6a ff                	push   $0xffffffff
5f9d1f:	6a 00                	push   $0x0
5f9d21:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5f9d25:	b2 01                	mov    $0x1,%dl
5f9d27:	a1 08 ee 53 00       	mov    0x53ee08,%eax
5f9d2c:	e8 33 5c f4 ff       	call   0x53f964
5f9d31:	89 44 24 24          	mov    %eax,0x24(%esp)
5f9d35:	33 c0                	xor    %eax,%eax
5f9d37:	8d 54 24 56          	lea    0x56(%esp),%edx
5f9d3b:	89 54 24 50          	mov    %edx,0x50(%esp)
5f9d3f:	8d 14 40             	lea    (%eax,%eax,2),%edx
5f9d42:	8b 4e 10             	mov    0x10(%esi),%ecx
5f9d45:	8b 5c 24 50          	mov    0x50(%esp),%ebx
5f9d49:	8a 1b                	mov    (%ebx),%bl
5f9d4b:	88 5c 11 02          	mov    %bl,0x2(%ecx,%edx,1)
5f9d4f:	8d 14 40             	lea    (%eax,%eax,2),%edx
5f9d52:	8b 4e 10             	mov    0x10(%esi),%ecx
5f9d55:	8b 5c 24 50          	mov    0x50(%esp),%ebx
5f9d59:	8a 5b ff             	mov    -0x1(%ebx),%bl
5f9d5c:	88 5c 11 01          	mov    %bl,0x1(%ecx,%edx,1)
5f9d60:	8d 14 40             	lea    (%eax,%eax,2),%edx
5f9d63:	8b 4e 10             	mov    0x10(%esi),%ecx
5f9d66:	8b 5c 24 50          	mov    0x50(%esp),%ebx
5f9d6a:	8a 5b fe             	mov    -0x2(%ebx),%bl
5f9d6d:	88 1c 11             	mov    %bl,(%ecx,%edx,1)
5f9d70:	40                   	inc    %eax
5f9d71:	83 44 24 50 03       	addl   $0x3,0x50(%esp)
5f9d76:	3d 00 01 00 00       	cmp    $0x100,%eax
5f9d7b:	75 c2                	jne    0x5f9d3f
5f9d7d:	8b 46 34             	mov    0x34(%esi),%eax
5f9d80:	48                   	dec    %eax
5f9d81:	85 c0                	test   %eax,%eax
5f9d83:	7c 5d                	jl     0x5f9de2
5f9d85:	40                   	inc    %eax
5f9d86:	89 44 24 30          	mov    %eax,0x30(%esp)
5f9d8a:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f9d91:	00
5f9d92:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9d96:	8b 04 24             	mov    (%esp),%eax
5f9d99:	8b 08                	mov    (%eax),%ecx
5f9d9b:	ff 11                	call   *(%ecx)
5f9d9d:	89 44 24 10          	mov    %eax,0x10(%esp)
5f9da1:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9da5:	8b c6                	mov    %esi,%eax
5f9da7:	8b 08                	mov    (%eax),%ecx
5f9da9:	ff 11                	call   *(%ecx)
5f9dab:	8b f8                	mov    %eax,%edi
5f9dad:	8b 5e 30             	mov    0x30(%esi),%ebx
5f9db0:	4b                   	dec    %ebx
5f9db1:	85 db                	test   %ebx,%ebx
5f9db3:	7c 23                	jl     0x5f9dd8
5f9db5:	43                   	inc    %ebx
5f9db6:	8b 44 24 10          	mov    0x10(%esp),%eax
5f9dba:	8a 50 02             	mov    0x2(%eax),%dl
5f9dbd:	c1 e2 10             	shl    $0x10,%edx
5f9dc0:	66 8b 10             	mov    (%eax),%dx
5f9dc3:	52                   	push   %edx
5f9dc4:	8b 44 24 28          	mov    0x28(%esp),%eax
5f9dc8:	e8 d3 5d f4 ff       	call   0x53fba0
5f9dcd:	88 07                	mov    %al,(%edi)
5f9dcf:	47                   	inc    %edi
5f9dd0:	83 44 24 10 03       	addl   $0x3,0x10(%esp)
5f9dd5:	4b                   	dec    %ebx
5f9dd6:	75 de                	jne    0x5f9db6
5f9dd8:	ff 44 24 04          	incl   0x4(%esp)
5f9ddc:	ff 4c 24 30          	decl   0x30(%esp)
5f9de0:	75 b0                	jne    0x5f9d92
5f9de2:	8b 44 24 24          	mov    0x24(%esp),%eax
5f9de6:	e8 8d 9c e0 ff       	call   0x403a78
5f9deb:	e9 65 0b 00 00       	jmp    0x5fa955
5f9df0:	8b 46 34             	mov    0x34(%esi),%eax
5f9df3:	48                   	dec    %eax
5f9df4:	85 c0                	test   %eax,%eax
5f9df6:	0f 8c 59 0b 00 00    	jl     0x5fa955
5f9dfc:	40                   	inc    %eax
5f9dfd:	89 44 24 30          	mov    %eax,0x30(%esp)
5f9e01:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f9e08:	00
5f9e09:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9e0d:	8b 04 24             	mov    (%esp),%eax
5f9e10:	8b 08                	mov    (%eax),%ecx
5f9e12:	ff 11                	call   *(%ecx)
5f9e14:	89 44 24 10          	mov    %eax,0x10(%esp)
5f9e18:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9e1c:	8b c6                	mov    %esi,%eax
5f9e1e:	8b 08                	mov    (%eax),%ecx
5f9e20:	ff 11                	call   *(%ecx)
5f9e22:	8b f8                	mov    %eax,%edi
5f9e24:	8b 5e 30             	mov    0x30(%esi),%ebx
5f9e27:	4b                   	dec    %ebx
5f9e28:	85 db                	test   %ebx,%ebx
5f9e2a:	7c 45                	jl     0x5f9e71
5f9e2c:	43                   	inc    %ebx
5f9e2d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5f9e31:	33 c0                	xor    %eax,%eax
5f9e33:	8a 41 02             	mov    0x2(%ecx),%al
5f9e36:	8b 15 24 72 6a 00    	mov    0x6a7224,%edx
5f9e3c:	f7 2a                	imull  (%edx)
5f9e3e:	33 d2                	xor    %edx,%edx
5f9e40:	8a 51 01             	mov    0x1(%ecx),%dl
5f9e43:	8b 2d 4c 71 6a 00    	mov    0x6a714c,%ebp
5f9e49:	0f af 55 00          	imul   0x0(%ebp),%edx
5f9e4d:	03 c2                	add    %edx,%eax
5f9e4f:	33 d2                	xor    %edx,%edx
5f9e51:	8a 11                	mov    (%ecx),%dl
5f9e53:	8b 0d bc 6d 6a 00    	mov    0x6a6dbc,%ecx
5f9e59:	0f af 11             	imul   (%ecx),%edx
5f9e5c:	03 c2                	add    %edx,%eax
5f9e5e:	b9 64 00 00 00       	mov    $0x64,%ecx
5f9e63:	99                   	cltd
5f9e64:	f7 f9                	idiv   %ecx
5f9e66:	88 07                	mov    %al,(%edi)
5f9e68:	83 44 24 10 03       	addl   $0x3,0x10(%esp)
5f9e6d:	47                   	inc    %edi
5f9e6e:	4b                   	dec    %ebx
5f9e6f:	75 bc                	jne    0x5f9e2d
5f9e71:	ff 44 24 04          	incl   0x4(%esp)
5f9e75:	ff 4c 24 30          	decl   0x30(%esp)
5f9e79:	75 8e                	jne    0x5f9e09
5f9e7b:	e9 d5 0a 00 00       	jmp    0x5fa955
5f9e80:	8b 46 34             	mov    0x34(%esi),%eax
5f9e83:	48                   	dec    %eax
5f9e84:	85 c0                	test   %eax,%eax
5f9e86:	0f 8c c9 0a 00 00    	jl     0x5fa955
5f9e8c:	40                   	inc    %eax
5f9e8d:	89 44 24 30          	mov    %eax,0x30(%esp)
5f9e91:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f9e98:	00
5f9e99:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9e9d:	8b 04 24             	mov    (%esp),%eax
5f9ea0:	8b 08                	mov    (%eax),%ecx
5f9ea2:	ff 11                	call   *(%ecx)
5f9ea4:	89 44 24 10          	mov    %eax,0x10(%esp)
5f9ea8:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9eac:	8b c6                	mov    %esi,%eax
5f9eae:	8b 08                	mov    (%eax),%ecx
5f9eb0:	ff 11                	call   *(%ecx)
5f9eb2:	8b f8                	mov    %eax,%edi
5f9eb4:	8b 5e 30             	mov    0x30(%esi),%ebx
5f9eb7:	4b                   	dec    %ebx
5f9eb8:	85 db                	test   %ebx,%ebx
5f9eba:	7c 52                	jl     0x5f9f0e
5f9ebc:	43                   	inc    %ebx
5f9ebd:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5f9ec1:	33 c0                	xor    %eax,%eax
5f9ec3:	8a 41 02             	mov    0x2(%ecx),%al
5f9ec6:	8b d0                	mov    %eax,%edx
5f9ec8:	c1 e0 08             	shl    $0x8,%eax
5f9ecb:	03 c2                	add    %edx,%eax
5f9ecd:	69 c0 d4 00 00 00    	imul   $0xd4,%eax,%eax
5f9ed3:	33 d2                	xor    %edx,%edx
5f9ed5:	8a 51 01             	mov    0x1(%ecx),%dl
5f9ed8:	8b ea                	mov    %edx,%ebp
5f9eda:	c1 e2 08             	shl    $0x8,%edx
5f9edd:	03 d5                	add    %ebp,%edx
5f9edf:	69 d2 c9 02 00 00    	imul   $0x2c9,%edx,%edx
5f9ee5:	03 c2                	add    %edx,%eax
5f9ee7:	33 d2                	xor    %edx,%edx
5f9ee9:	8a 11                	mov    (%ecx),%dl
5f9eeb:	8b ca                	mov    %edx,%ecx
5f9eed:	c1 e2 08             	shl    $0x8,%edx
5f9ef0:	03 d1                	add    %ecx,%edx
5f9ef2:	6b d2 4b             	imul   $0x4b,%edx,%edx
5f9ef5:	03 c2                	add    %edx,%eax
5f9ef7:	b9 e8 03 00 00       	mov    $0x3e8,%ecx
5f9efc:	33 d2                	xor    %edx,%edx
5f9efe:	f7 f1                	div    %ecx
5f9f00:	66 89 07             	mov    %ax,(%edi)
5f9f03:	83 44 24 10 03       	addl   $0x3,0x10(%esp)
5f9f08:	83 c7 02             	add    $0x2,%edi
5f9f0b:	4b                   	dec    %ebx
5f9f0c:	75 af                	jne    0x5f9ebd
5f9f0e:	ff 44 24 04          	incl   0x4(%esp)
5f9f12:	ff 4c 24 30          	decl   0x30(%esp)
5f9f16:	75 81                	jne    0x5f9e99
5f9f18:	e9 38 0a 00 00       	jmp    0x5fa955
5f9f1d:	8b 46 34             	mov    0x34(%esi),%eax
5f9f20:	48                   	dec    %eax
5f9f21:	85 c0                	test   %eax,%eax
5f9f23:	0f 8c 2c 0a 00 00    	jl     0x5fa955
5f9f29:	40                   	inc    %eax
5f9f2a:	89 44 24 30          	mov    %eax,0x30(%esp)
5f9f2e:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f9f35:	00
5f9f36:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9f3a:	8b 04 24             	mov    (%esp),%eax
5f9f3d:	8b 08                	mov    (%eax),%ecx
5f9f3f:	ff 11                	call   *(%ecx)
5f9f41:	89 44 24 10          	mov    %eax,0x10(%esp)
5f9f45:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9f49:	8b c6                	mov    %esi,%eax
5f9f4b:	8b 08                	mov    (%eax),%ecx
5f9f4d:	ff 11                	call   *(%ecx)
5f9f4f:	8b f8                	mov    %eax,%edi
5f9f51:	8b 5e 30             	mov    0x30(%esi),%ebx
5f9f54:	4b                   	dec    %ebx
5f9f55:	85 db                	test   %ebx,%ebx
5f9f57:	7c 7a                	jl     0x5f9fd3
5f9f59:	43                   	inc    %ebx
5f9f5a:	8b 44 24 10          	mov    0x10(%esp),%eax
5f9f5e:	89 44 24 44          	mov    %eax,0x44(%esp)
5f9f62:	8b 44 24 44          	mov    0x44(%esp),%eax
5f9f66:	0f b6 40 02          	movzbl 0x2(%eax),%eax