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
5f9f6a:	89 84 24 88 03 00 00 	mov    %eax,0x388(%esp)
5f9f71:	db 84 24 88 03 00 00 	fildl  0x388(%esp)
5f9f78:	db 2d 78 a9 5f 00    	fldt   0x5fa978
5f9f7e:	de c9                	fmulp  %st,%st(1)
5f9f80:	8b 44 24 44          	mov    0x44(%esp),%eax
5f9f84:	0f b6 40 01          	movzbl 0x1(%eax),%eax
5f9f88:	89 84 24 8c 03 00 00 	mov    %eax,0x38c(%esp)
5f9f8f:	db 84 24 8c 03 00 00 	fildl  0x38c(%esp)
5f9f96:	db 2d 84 a9 5f 00    	fldt   0x5fa984
5f9f9c:	de c9                	fmulp  %st,%st(1)
5f9f9e:	de c1                	faddp  %st,%st(1)
5f9fa0:	8b 44 24 44          	mov    0x44(%esp),%eax
5f9fa4:	0f b6 00             	movzbl (%eax),%eax
5f9fa7:	89 84 24 90 03 00 00 	mov    %eax,0x390(%esp)
5f9fae:	db 84 24 90 03 00 00 	fildl  0x390(%esp)
5f9fb5:	db 2d 90 a9 5f 00    	fldt   0x5fa990
5f9fbb:	de c9                	fmulp  %st,%st(1)
5f9fbd:	de c1                	faddp  %st,%st(1)
5f9fbf:	d8 35 9c a9 5f 00    	fdivs  0x5fa99c
5f9fc5:	d9 1f                	fstps  (%edi)
5f9fc7:	9b                   	fwait
5f9fc8:	83 44 24 10 03       	addl   $0x3,0x10(%esp)
5f9fcd:	83 c7 04             	add    $0x4,%edi
5f9fd0:	4b                   	dec    %ebx
5f9fd1:	75 87                	jne    0x5f9f5a
5f9fd3:	ff 44 24 04          	incl   0x4(%esp)
5f9fd7:	ff 4c 24 30          	decl   0x30(%esp)
5f9fdb:	0f 85 55 ff ff ff    	jne    0x5f9f36
5f9fe1:	e9 6f 09 00 00       	jmp    0x5fa955
5f9fe6:	8b 46 34             	mov    0x34(%esi),%eax
5f9fe9:	48                   	dec    %eax
5f9fea:	85 c0                	test   %eax,%eax
5f9fec:	0f 8c 63 09 00 00    	jl     0x5fa955
5f9ff2:	40                   	inc    %eax
5f9ff3:	89 44 24 30          	mov    %eax,0x30(%esp)
5f9ff7:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f9ffe:	00
5f9fff:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa003:	8b 04 24             	mov    (%esp),%eax
5fa006:	8b 08                	mov    (%eax),%ecx
5fa008:	ff 11                	call   *(%ecx)
5fa00a:	89 44 24 10          	mov    %eax,0x10(%esp)
5fa00e:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa012:	8b c6                	mov    %esi,%eax
5fa014:	8b 08                	mov    (%eax),%ecx
5fa016:	ff 11                	call   *(%ecx)
5fa018:	89 44 24 18          	mov    %eax,0x18(%esp)
5fa01c:	8b 5e 30             	mov    0x30(%esi),%ebx
5fa01f:	4b                   	dec    %ebx
5fa020:	85 db                	test   %ebx,%ebx
5fa022:	7c 27                	jl     0x5fa04b
5fa024:	43                   	inc    %ebx
5fa025:	8b 44 24 10          	mov    0x10(%esp),%eax
5fa029:	8a 50 02             	mov    0x2(%eax),%dl
5fa02c:	c1 e2 10             	shl    $0x10,%edx
5fa02f:	66 8b 10             	mov    (%eax),%dx
5fa032:	52                   	push   %edx
5fa033:	e8 c0 af fd ff       	call   0x5d4ff8
5fa038:	8b 54 24 18          	mov    0x18(%esp),%edx
5fa03c:	89 02                	mov    %eax,(%edx)
5fa03e:	83 44 24 10 03       	addl   $0x3,0x10(%esp)
5fa043:	83 44 24 18 04       	addl   $0x4,0x18(%esp)
5fa048:	4b                   	dec    %ebx
5fa049:	75 da                	jne    0x5fa025
5fa04b:	ff 44 24 04          	incl   0x4(%esp)
5fa04f:	ff 4c 24 30          	decl   0x30(%esp)
5fa053:	75 aa                	jne    0x5f9fff
5fa055:	e9 fb 08 00 00       	jmp    0x5fa955
5fa05a:	8b 46 34             	mov    0x34(%esi),%eax
5fa05d:	48                   	dec    %eax
5fa05e:	85 c0                	test   %eax,%eax
5fa060:	0f 8c ef 08 00 00    	jl     0x5fa955
5fa066:	40                   	inc    %eax
5fa067:	89 44 24 30          	mov    %eax,0x30(%esp)
5fa06b:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5fa072:	00
5fa073:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa077:	8b 04 24             	mov    (%esp),%eax
5fa07a:	8b 08                	mov    (%eax),%ecx
5fa07c:	ff 11                	call   *(%ecx)
5fa07e:	89 44 24 10          	mov    %eax,0x10(%esp)
5fa082:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa086:	8b c6                	mov    %esi,%eax
5fa088:	8b 08                	mov    (%eax),%ecx
5fa08a:	ff 11                	call   *(%ecx)
5fa08c:	8b f8                	mov    %eax,%edi
5fa08e:	8b 5e 30             	mov    0x30(%esi),%ebx
5fa091:	4b                   	dec    %ebx
5fa092:	85 db                	test   %ebx,%ebx
5fa094:	7c 47                	jl     0x5fa0dd
5fa096:	43                   	inc    %ebx
5fa097:	8b 44 24 10          	mov    0x10(%esp),%eax
5fa09b:	0f b6 40 02          	movzbl 0x2(%eax),%eax
5fa09f:	8b d0                	mov    %eax,%edx
5fa0a1:	c1 e0 08             	shl    $0x8,%eax
5fa0a4:	03 c2                	add    %edx,%eax
5fa0a6:	66 89 07             	mov    %ax,(%edi)
5fa0a9:	83 c7 02             	add    $0x2,%edi
5fa0ac:	8b 44 24 10          	mov    0x10(%esp),%eax
5fa0b0:	0f b6 40 01          	movzbl 0x1(%eax),%eax
5fa0b4:	8b d0                	mov    %eax,%edx
5fa0b6:	c1 e0 08             	shl    $0x8,%eax
5fa0b9:	03 c2                	add    %edx,%eax
5fa0bb:	66 89 07             	mov    %ax,(%edi)
5fa0be:	83 c7 02             	add    $0x2,%edi
5fa0c1:	8b 44 24 10          	mov    0x10(%esp),%eax
5fa0c5:	0f b6 00             	movzbl (%eax),%eax
5fa0c8:	8b d0                	mov    %eax,%edx
5fa0ca:	c1 e0 08             	shl    $0x8,%eax
5fa0cd:	03 c2                	add    %edx,%eax
5fa0cf:	66 89 07             	mov    %ax,(%edi)
5fa0d2:	83 c7 02             	add    $0x2,%edi
5fa0d5:	83 44 24 10 03       	addl   $0x3,0x10(%esp)
5fa0da:	4b                   	dec    %ebx
5fa0db:	75 ba                	jne    0x5fa097
5fa0dd:	ff 44 24 04          	incl   0x4(%esp)
5fa0e1:	ff 4c 24 30          	decl   0x30(%esp)
5fa0e5:	75 8c                	jne    0x5fa073
5fa0e7:	e9 69 08 00 00       	jmp    0x5fa955
5fa0ec:	33 c0                	xor    %eax,%eax
5fa0ee:	8a 46 40             	mov    0x40(%esi),%al
5fa0f1:	83 f8 08             	cmp    $0x8,%eax
5fa0f4:	0f 87 5b 08 00 00    	ja     0x5fa955
5fa0fa:	ff 24 85 01 a1 5f 00 	jmp    *0x5fa101(,%eax,4)
5fa101:	55                   	push   %ebp
5fa102:	a9 5f 00 25 a1       	test   $0xa125005f,%eax
5fa107:	5f                   	pop    %edi
5fa108:	00 e4                	add    %ah,%ah
5fa10a:	a1 5f 00 77 a2       	mov    0xa277005f,%eax
5fa10f:	5f                   	pop    %edi
5fa110:	00 df                	add    %bl,%bh
5fa112:	a2 5f 00 4a a3       	mov    %al,0xa34a005f
5fa117:	5f                   	pop    %edi
5fa118:	00 55 a9             	add    %dl,-0x57(%ebp)
5fa11b:	5f                   	pop    %edi
5fa11c:	00 b8 a3 5f 00 d1    	add    %bh,-0x2effa05d(%eax)
5fa122:	a3 5f 00 8a 46       	mov    %eax,0x468a005f
5fa127:	4c                   	dec    %esp
5fa128:	2c 01                	sub    $0x1,%al
5fa12a:	72 0b                	jb     0x5fa137
5fa12c:	0f 84 97 00 00 00    	je     0x5fa1c9
5fa132:	e9 1e 08 00 00       	jmp    0x5fa955
5fa137:	8b 46 34             	mov    0x34(%esi),%eax
5fa13a:	48                   	dec    %eax
5fa13b:	85 c0                	test   %eax,%eax
5fa13d:	0f 8c 12 08 00 00    	jl     0x5fa955
5fa143:	40                   	inc    %eax
5fa144:	89 44 24 30          	mov    %eax,0x30(%esp)
5fa148:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5fa14f:	00
5fa150:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa154:	8b 04 24             	mov    (%esp),%eax
5fa157:	8b 08                	mov    (%eax),%ecx
5fa159:	ff 11                	call   *(%ecx)
5fa15b:	89 44 24 14          	mov    %eax,0x14(%esp)
5fa15f:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa163:	8b c6                	mov    %esi,%eax
5fa165:	8b 08                	mov    (%eax),%ecx
5fa167:	ff 11                	call   *(%ecx)
5fa169:	8b f8                	mov    %eax,%edi
5fa16b:	8b 5e 30             	mov    0x30(%esi),%ebx
5fa16e:	4b                   	dec    %ebx
5fa16f:	85 db                	test   %ebx,%ebx
5fa171:	7c 47                	jl     0x5fa1ba
5fa173:	43                   	inc    %ebx
5fa174:	33 ed                	xor    %ebp,%ebp
5fa176:	8b 44 24 14          	mov    0x14(%esp),%eax
5fa17a:	d9 00                	flds   (%eax)
5fa17c:	d8 35 a4 a9 5f 00    	fdivs  0x5fa9a4
5fa182:	8b c5                	mov    %ebp,%eax
5fa184:	83 e0 07             	and    $0x7,%eax
5fa187:	c1 e0 02             	shl    $0x2,%eax
5fa18a:	8b 15 c0 6f 6a 00    	mov    0x6a6fc0,%edx
5fa190:	8d 04 c2             	lea    (%edx,%eax,8),%eax
5fa193:	8b 54 24 04          	mov    0x4(%esp),%edx