5f9150:	8b 54 24 34          	mov    0x34(%esp),%edx
5f9154:	0f b6 12             	movzbl (%edx),%edx
5f9157:	8b 0d bc 6d 6a 00    	mov    0x6a6dbc,%ecx
5f915d:	0f af 11             	imul   (%ecx),%edx
5f9160:	03 c2                	add    %edx,%eax
5f9162:	b9 64 00 00 00       	mov    $0x64,%ecx
5f9167:	99                   	cltd
5f9168:	f7 f9                	idiv   %ecx
5f916a:	c1 e8 02             	shr    $0x2,%eax
5f916d:	8b d5                	mov    %ebp,%edx
5f916f:	83 e2 07             	and    $0x7,%edx
5f9172:	c1 e2 02             	shl    $0x2,%edx
5f9175:	8b 0d c0 6f 6a 00    	mov    0x6a6fc0,%ecx
5f917b:	8d 14 d1             	lea    (%ecx,%edx,8),%edx
5f917e:	52                   	push   %edx
5f917f:	8b 54 24 08          	mov    0x8(%esp),%edx
5f9183:	83 e2 07             	and    $0x7,%edx
5f9186:	59                   	pop    %ecx
5f9187:	3b 04 91             	cmp    (%ecx,%edx,4),%eax
5f918a:	0f 9f c1             	setg   %cl
5f918d:	83 e1 7f             	and    $0x7f,%ecx
5f9190:	8b d5                	mov    %ebp,%edx
5f9192:	8b c7                	mov    %edi,%eax
5f9194:	e8 83 69 fb ff       	call   0x5afb1c
5f9199:	ff 44 24 08          	incl   0x8(%esp)
5f919d:	45                   	inc    %ebp
5f919e:	4b                   	dec    %ebx
5f919f:	0f 85 71 ff ff ff    	jne    0x5f9116
5f91a5:	ff 44 24 04          	incl   0x4(%esp)
5f91a9:	ff 4c 24 30          	decl   0x30(%esp)
5f91ad:	0f 85 39 ff ff ff    	jne    0x5f90ec
5f91b3:	e9 9d 17 00 00       	jmp    0x5fa955
5f91b8:	8d 84 24 58 03 00 00 	lea    0x358(%esp),%eax
5f91bf:	50                   	push   %eax
5f91c0:	83 c9 ff             	or     $0xffffffff,%ecx
5f91c3:	8b d6                	mov    %esi,%edx
5f91c5:	8b 44 24 04          	mov    0x4(%esp),%eax
5f91c9:	e8 de 07 fc ff       	call   0x5b99ac
5f91ce:	e9 82 17 00 00       	jmp    0x5fa955
5f91d3:	8b 46 34             	mov    0x34(%esi),%eax
5f91d6:	48                   	dec    %eax
5f91d7:	85 c0                	test   %eax,%eax
5f91d9:	0f 8c 76 17 00 00    	jl     0x5fa955
5f91df:	40                   	inc    %eax
5f91e0:	89 44 24 30          	mov    %eax,0x30(%esp)
5f91e4:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f91eb:	00
5f91ec:	8b 54 24 04          	mov    0x4(%esp),%edx
5f91f0:	8b 04 24             	mov    (%esp),%eax
5f91f3:	8b 08                	mov    (%eax),%ecx
5f91f5:	ff 11                	call   *(%ecx)
5f91f7:	89 44 24 08          	mov    %eax,0x8(%esp)
5f91fb:	8b 54 24 04          	mov    0x4(%esp),%edx
5f91ff:	8b c6                	mov    %esi,%eax
5f9201:	8b 08                	mov    (%eax),%ecx
5f9203:	ff 11                	call   *(%ecx)
5f9205:	8b f8                	mov    %eax,%edi
5f9207:	8b 5e 30             	mov    0x30(%esi),%ebx
5f920a:	4b                   	dec    %ebx
5f920b:	85 db                	test   %ebx,%ebx
5f920d:	7c 53                	jl     0x5f9262
5f920f:	43                   	inc    %ebx
5f9210:	8b 44 24 08          	mov    0x8(%esp),%eax
5f9214:	0f b6 00             	movzbl (%eax),%eax
5f9217:	8d 04 40             	lea    (%eax,%eax,2),%eax
5f921a:	8b 14 24             	mov    (%esp),%edx
5f921d:	8b 52 10             	mov    0x10(%edx),%edx
5f9220:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
5f9223:	33 c0                	xor    %eax,%eax
5f9225:	8a 41 02             	mov    0x2(%ecx),%al
5f9228:	8b 15 24 72 6a 00    	mov    0x6a7224,%edx
5f922e:	f7 2a                	imull  (%edx)
5f9230:	33 d2                	xor    %edx,%edx
5f9232:	8a 51 01             	mov    0x1(%ecx),%dl
5f9235:	8b 2d 4c 71 6a 00    	mov    0x6a714c,%ebp
5f923b:	0f af 55 00          	imul   0x0(%ebp),%edx
5f923f:	03 c2                	add    %edx,%eax
5f9241:	33 d2                	xor    %edx,%edx
5f9243:	8a 11                	mov    (%ecx),%dl
5f9245:	8b 0d bc 6d 6a 00    	mov    0x6a6dbc,%ecx
5f924b:	0f af 11             	imul   (%ecx),%edx
5f924e:	03 c2                	add    %edx,%eax
5f9250:	b9 64 00 00 00       	mov    $0x64,%ecx
5f9255:	99                   	cltd
5f9256:	f7 f9                	idiv   %ecx
5f9258:	88 07                	mov    %al,(%edi)
5f925a:	47                   	inc    %edi
5f925b:	ff 44 24 08          	incl   0x8(%esp)
5f925f:	4b                   	dec    %ebx
5f9260:	75 ae                	jne    0x5f9210
5f9262:	ff 44 24 04          	incl   0x4(%esp)
5f9266:	ff 4c 24 30          	decl   0x30(%esp)
5f926a:	75 80                	jne    0x5f91ec
5f926c:	e9 e4 16 00 00       	jmp    0x5fa955
5f9271:	8b 46 34             	mov    0x34(%esi),%eax
5f9274:	48                   	dec    %eax
5f9275:	85 c0                	test   %eax,%eax
5f9277:	0f 8c d8 16 00 00    	jl     0x5fa955
5f927d:	40                   	inc    %eax
5f927e:	89 44 24 30          	mov    %eax,0x30(%esp)
5f9282:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f9289:	00
5f928a:	8b 54 24 04          	mov    0x4(%esp),%edx
5f928e:	8b 04 24             	mov    (%esp),%eax
5f9291:	8b 08                	mov    (%eax),%ecx
5f9293:	ff 11                	call   *(%ecx)
5f9295:	89 44 24 08          	mov    %eax,0x8(%esp)
5f9299:	8b 54 24 04          	mov    0x4(%esp),%edx
5f929d:	8b c6                	mov    %esi,%eax
5f929f:	8b 08                	mov    (%eax),%ecx
5f92a1:	ff 11                	call   *(%ecx)
5f92a3:	8b f8                	mov    %eax,%edi
5f92a5:	8b 5e 30             	mov    0x30(%esi),%ebx
5f92a8:	4b                   	dec    %ebx
5f92a9:	85 db                	test   %ebx,%ebx
5f92ab:	7c 60                	jl     0x5f930d
5f92ad:	43                   	inc    %ebx
5f92ae:	8b 44 24 08          	mov    0x8(%esp),%eax
5f92b2:	0f b6 00             	movzbl (%eax),%eax
5f92b5:	8d 04 40             	lea    (%eax,%eax,2),%eax
5f92b8:	8b 14 24             	mov    (%esp),%edx
5f92bb:	8b 52 10             	mov    0x10(%edx),%edx
5f92be:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
5f92c1:	33 c0                	xor    %eax,%eax
5f92c3:	8a 41 02             	mov    0x2(%ecx),%al
5f92c6:	8b d0                	mov    %eax,%edx
5f92c8:	c1 e0 08             	shl    $0x8,%eax
5f92cb:	03 c2                	add    %edx,%eax
5f92cd:	69 c0 d4 00 00 00    	imul   $0xd4,%eax,%eax
5f92d3:	33 d2                	xor    %edx,%edx
5f92d5:	8a 51 01             	mov    0x1(%ecx),%dl
5f92d8:	8b ea                	mov    %edx,%ebp
5f92da:	c1 e2 08             	shl    $0x8,%edx
5f92dd:	03 d5                	add    %ebp,%edx
5f92df:	69 d2 c9 02 00 00    	imul   $0x2c9,%edx,%edx
5f92e5:	03 c2                	add    %edx,%eax
5f92e7:	33 d2                	xor    %edx,%edx
5f92e9:	8a 11                	mov    (%ecx),%dl
5f92eb:	8b ca                	mov    %edx,%ecx
5f92ed:	c1 e2 08             	shl    $0x8,%edx
5f92f0:	03 d1                	add    %ecx,%edx
5f92f2:	6b d2 4b             	imul   $0x4b,%edx,%edx
5f92f5:	03 c2                	add    %edx,%eax
5f92f7:	b9 e8 03 00 00       	mov    $0x3e8,%ecx
5f92fc:	33 d2                	xor    %edx,%edx
5f92fe:	f7 f1                	div    %ecx
5f9300:	66 89 07             	mov    %ax,(%edi)
5f9303:	83 c7 02             	add    $0x2,%edi
5f9306:	ff 44 24 08          	incl   0x8(%esp)
5f930a:	4b                   	dec    %ebx
5f930b:	75 a1                	jne    0x5f92ae
5f930d:	ff 44 24 04          	incl   0x4(%esp)
5f9311:	ff 4c 24 30          	decl   0x30(%esp)
5f9315:	0f 85 6f ff ff ff    	jne    0x5f928a
5f931b:	e9 35 16 00 00       	jmp    0x5fa955
5f9320:	8b 46 34             	mov    0x34(%esi),%eax
5f9323:	48                   	dec    %eax
5f9324:	85 c0                	test   %eax,%eax
5f9326:	0f 8c 29 16 00 00    	jl     0x5fa955
5f932c:	40                   	inc    %eax
5f932d:	89 44 24 30          	mov    %eax,0x30(%esp)
5f9331:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f9338:	00
5f9339:	8b 54 24 04          	mov    0x4(%esp),%edx
5f933d:	8b 04 24             	mov    (%esp),%eax
5f9340:	8b 08                	mov    (%eax),%ecx
5f9342:	ff 11                	call   *(%ecx)
5f9344:	89 44 24 08          	mov    %eax,0x8(%esp)
5f9348:	8b 54 24 04          	mov    0x4(%esp),%edx
5f934c:	8b c6                	mov    %esi,%eax
5f934e:	8b 08                	mov    (%eax),%ecx
5f9350:	ff 11                	call   *(%ecx)
5f9352:	8b f8                	mov    %eax,%edi
5f9354:	8b 5e 30             	mov    0x30(%esi),%ebx
5f9357:	4b                   	dec    %ebx
5f9358:	85 db                	test   %ebx,%ebx
5f935a:	7c 2c                	jl     0x5f9388
5f935c:	43                   	inc    %ebx
5f935d:	8b 44 24 08          	mov    0x8(%esp),%eax
5f9361:	0f b6 00             	movzbl (%eax),%eax
5f9364:	8d 04 40             	lea    (%eax,%eax,2),%eax
5f9367:	8b 14 24             	mov    (%esp),%edx
5f936a:	8b 52 10             	mov    0x10(%edx),%edx
5f936d:	8d 04 02             	lea    (%edx,%eax,1),%eax
5f9370:	8a 10                	mov    (%eax),%dl
5f9372:	88 17                	mov    %dl,(%edi)
5f9374:	47                   	inc    %edi
5f9375:	8a 50 01             	mov    0x1(%eax),%dl
5f9378:	88 17                	mov    %dl,(%edi)
5f937a:	47                   	inc    %edi
5f937b:	8a 40 02             	mov    0x2(%eax),%al
5f937e:	88 07                	mov    %al,(%edi)
5f9380:	47                   	inc    %edi
5f9381:	ff 44 24 08          	incl   0x8(%esp)
5f9385:	4b                   	dec    %ebx
5f9386:	75 d5                	jne    0x5f935d
5f9388:	ff 44 24 04          	incl   0x4(%esp)
5f938c:	ff 4c 24 30          	decl   0x30(%esp)
5f9390:	75 a7                	jne    0x5f9339
5f9392:	e9 be 15 00 00       	jmp    0x5fa955
5f9397:	8b 46 34             	mov    0x34(%esi),%eax
5f939a:	48                   	dec    %eax
5f939b:	85 c0                	test   %eax,%eax
5f939d:	0f 8c b2 15 00 00    	jl     0x5fa955
5f93a3:	40                   	inc    %eax
5f93a4:	89 44 24 30          	mov    %eax,0x30(%esp)
5f93a8:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f93af:	00
5f93b0:	8b 54 24 04          	mov    0x4(%esp),%edx
5f93b4:	8b 04 24             	mov    (%esp),%eax
5f93b7:	8b 08                	mov    (%eax),%ecx
5f93b9:	ff 11                	call   *(%ecx)
5f93bb:	89 44 24 08          	mov    %eax,0x8(%esp)
5f93bf:	8b 54 24 04          	mov    0x4(%esp),%edx
5f93c3:	8b c6                	mov    %esi,%eax
5f93c5:	8b 08                	mov    (%eax),%ecx
5f93c7:	ff 11                	call   *(%ecx)
5f93c9:	8b f8                	mov    %eax,%edi
5f93cb:	8b 5e 30             	mov    0x30(%esi),%ebx
5f93ce:	4b                   	dec    %ebx
5f93cf:	85 db                	test   %ebx,%ebx
5f93d1:	7c 7a                	jl     0x5f944d
5f93d3:	43                   	inc    %ebx
5f93d4:	8b 44 24 08          	mov    0x8(%esp),%eax
5f93d8:	0f b6 00             	movzbl (%eax),%eax
5f93db:	8d 04 40             	lea    (%eax,%eax,2),%eax
5f93de:	8b 14 24             	mov    (%esp),%edx
5f93e1:	8b 52 10             	mov    0x10(%edx),%edx
5f93e4:	8d 04 02             	lea    (%edx,%eax,1),%eax
5f93e7:	33 d2                	xor    %edx,%edx
5f93e9:	8a 50 02             	mov    0x2(%eax),%dl
5f93ec:	89 94 24 88 03 00 00 	mov    %edx,0x388(%esp)
5f93f3:	db 84 24 88 03 00 00 	fildl  0x388(%esp)
5f93fa:	db 2d 78 a9 5f 00    	fldt   0x5fa978
5f9400:	de c9                	fmulp  %st,%st(1)
5f9402:	33 d2                	xor    %edx,%edx
5f9404:	8a 50 01             	mov    0x1(%eax),%dl
5f9407:	89 94 24 8c 03 00 00 	mov    %edx,0x38c(%esp)
5f940e:	db 84 24 8c 03 00 00 	fildl  0x38c(%esp)
5f9415:	db 2d 84 a9 5f 00    	fldt   0x5fa984
5f941b:	de c9                	fmulp  %st,%st(1)
5f941d:	de c1                	faddp  %st,%st(1)
5f941f:	0f b6 00             	movzbl (%eax),%eax
5f9422:	89 84 24 90 03 00 00 	mov    %eax,0x390(%esp)
5f9429:	db 84 24 90 03 00 00 	fildl  0x390(%esp)
5f9430:	db 2d 90 a9 5f 00    	fldt   0x5fa990
5f9436:	de c9                	fmulp  %st,%st(1)
5f9438:	de c1                	faddp  %st,%st(1)
5f943a:	d8 35 9c a9 5f 00    	fdivs  0x5fa99c
5f9440:	d9 1f                	fstps  (%edi)
5f9442:	9b                   	fwait
5f9443:	83 c7 04             	add    $0x4,%edi
5f9446:	ff 44 24 08          	incl   0x8(%esp)
5f944a:	4b                   	dec    %ebx
5f944b:	75 87                	jne    0x5f93d4
5f944d:	ff 44 24 04          	incl   0x4(%esp)
5f9451:	ff 4c 24 30          	decl   0x30(%esp)
5f9455:	0f 85 55 ff ff ff    	jne    0x5f93b0
5f945b:	e9 f5 14 00 00       	jmp    0x5fa955
5f9460:	b2 05                	mov    $0x5,%dl
5f9462:	8b 04 24             	mov    (%esp),%eax
5f9465:	e8 42 15 00 00       	call   0x5fa9ac
5f946a:	8b 14 24             	mov    (%esp),%edx
5f946d:	8b c6                	mov    %esi,%eax
5f946f:	e8 3c f8 ff ff       	call   0x5f8cb0
5f9474:	e9 dc 14 00 00       	jmp    0x5fa955
5f9479:	8b 46 34             	mov    0x34(%esi),%eax
5f947c:	48                   	dec    %eax
5f947d:	85 c0                	test   %eax,%eax
5f947f:	0f 8c d0 14 00 00    	jl     0x5fa955
5f9485:	40                   	inc    %eax
5f9486:	89 44 24 30          	mov    %eax,0x30(%esp)
5f948a:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f9491:	00
5f9492:	8b 54 24 04          	mov    0x4(%esp),%edx
5f9496:	8b 04 24             	mov    (%esp),%eax
5f9499:	8b 08                	mov    (%eax),%ecx
5f949b:	ff 11                	call   *(%ecx)
5f949d:	89 44 24 08          	mov    %eax,0x8(%esp)
5f94a1:	8b 54 24 04          	mov    0x4(%esp),%edx
5f94a5:	8b c6                	mov    %esi,%eax
5f94a7:	8b 08                	mov    (%eax),%ecx
5f94a9:	ff 11                	call   *(%ecx)
5f94ab:	8b f8                	mov    %eax,%edi
5f94ad:	8b 5e 30             	mov    0x30(%esi),%ebx
5f94b0:	4b                   	dec    %ebx
5f94b1:	85 db                	test   %ebx,%ebx
5f94b3:	7c 4f                	jl     0x5f9504
5f94b5:	43                   	inc    %ebx
5f94b6:	8b 44 24 08          	mov    0x8(%esp),%eax
5f94ba:	0f b6 00             	movzbl (%eax),%eax
5f94bd:	8d 04 40             	lea    (%eax,%eax,2),%eax
5f94c0:	8b 14 24             	mov    (%esp),%edx
5f94c3:	8b 52 10             	mov    0x10(%edx),%edx
5f94c6:	8d 04 02             	lea    (%edx,%eax,1),%eax
5f94c9:	33 d2                	xor    %edx,%edx
5f94cb:	8a 50 02             	mov    0x2(%eax),%dl
5f94ce:	8b ca                	mov    %edx,%ecx
5f94d0:	c1 e2 08             	shl    $0x8,%edx
5f94d3:	03 d1                	add    %ecx,%edx
5f94d5:	66 89 17             	mov    %dx,(%edi)
5f94d8:	83 c7 02             	add    $0x2,%edi
5f94db:	33 d2                	xor    %edx,%edx
5f94dd:	8a 50 01             	mov    0x1(%eax),%dl
5f94e0:	8b ca                	mov    %edx,%ecx
5f94e2:	c1 e2 08             	shl    $0x8,%edx
5f94e5:	03 d1                	add    %ecx,%edx
5f94e7:	66 89 17             	mov    %dx,(%edi)
5f94ea:	83 c7 02             	add    $0x2,%edi
5f94ed:	0f b6 00             	movzbl (%eax),%eax
5f94f0:	8b d0                	mov    %eax,%edx
5f94f2:	c1 e0 08             	shl    $0x8,%eax
5f94f5:	03 c2                	add    %edx,%eax
5f94f7:	66 89 07             	mov    %ax,(%edi)
5f94fa:	83 c7 02             	add    $0x2,%edi
5f94fd:	ff 44 24 08          	incl   0x8(%esp)
5f9501:	4b                   	dec    %ebx
5f9502:	75 b2                	jne    0x5f94b6
5f9504:	ff 44 24 04          	incl   0x4(%esp)
5f9508:	ff 4c 24 30          	decl   0x30(%esp)
5f950c:	75 84                	jne    0x5f9492
5f950e:	e9 42 14 00 00       	jmp    0x5fa955
5f9513:	33 c0                	xor    %eax,%eax
5f9515:	8a 46 40             	mov    0x40(%esi),%al
5f9518:	83 f8 08             	cmp    $0x8,%eax
5f951b:	0f 87 34 14 00 00    	ja     0x5fa955
5f9521:	ff 24 85 28 95 5f 00 	jmp    *0x5f9528(,%eax,4)
5f9528:	55                   	push   %ebp
5f9529:	a9 5f 00 4c 95       	test   $0x954c005f,%eax
5f952e:	5f                   	pop    %edi
5f952f:	00 05 96 5f 00 55    	add    %al,0x55005f96
5f9535:	a9 5f 00 81 96       	test   $0x9681005f,%eax
5f953a:	5f                   	pop    %edi
5f953b:	00 e8                	add    %ch,%al
5f953d:	96                   	xchg   %eax,%esi
5f953e:	5f                   	pop    %edi
5f953f:	00 56 97             	add    %dl,-0x69(%esi)
5f9542:	5f                   	pop    %edi
5f9543:	00 ca                	add    %cl,%dl
5f9545:	97                   	xchg   %eax,%edi
5f9546:	5f                   	pop    %edi
5f9547:	00 e3                	add    %ah,%bl
5f9549:	97                   	xchg   %eax,%edi
5f954a:	5f                   	pop    %edi
5f954b:	00 8a 46 4c 2c 01    	add    %cl,0x12c4c46(%edx)
5f9551:	72 0b                	jb     0x5f955e
5f9553:	0f 84 91 00 00 00    	je     0x5f95ea
5f9559:	e9 f7 13 00 00       	jmp    0x5fa955
5f955e:	8b 46 34             	mov    0x34(%esi),%eax
5f9561:	48                   	dec    %eax