5ab2f1:	eb 15                	jmp    0x5ab308
5ab2f3:	ff 75 10             	push   0x10(%ebp)
5ab2f6:	ff 75 0c             	push   0xc(%ebp)
5ab2f9:	8b 45 08             	mov    0x8(%ebp),%eax
5ab2fc:	50                   	push   %eax
5ab2fd:	8b cb                	mov    %ebx,%ecx
5ab2ff:	8b d7                	mov    %edi,%edx
5ab301:	8b c6                	mov    %esi,%eax
5ab303:	e8 50 b6 00 00       	call   0x5b6958
5ab308:	8b c6                	mov    %esi,%eax
5ab30a:	e8 f9 c5 04 00       	call   0x5f7908
5ab30f:	84 c0                	test   %al,%al
5ab311:	74 4c                	je     0x5ab35f
5ab313:	84 db                	test   %bl,%bl
5ab315:	75 1d                	jne    0x5ab334
5ab317:	6a 00                	push   $0x0
5ab319:	6a 00                	push   $0x0
5ab31b:	8b c7                	mov    %edi,%eax
5ab31d:	e8 b6 c5 04 00       	call   0x5f78d8
5ab322:	50                   	push   %eax
5ab323:	8b c6                	mov    %esi,%eax
5ab325:	e8 ae c5 04 00       	call   0x5f78d8
5ab32a:	33 c9                	xor    %ecx,%ecx
5ab32c:	5a                   	pop    %edx
5ab32d:	e8 aa 7e 00 00       	call   0x5b31dc
5ab332:	eb 17                	jmp    0x5ab34b
5ab334:	8b c7                	mov    %edi,%eax
5ab336:	e8 9d c5 04 00       	call   0x5f78d8
5ab33b:	50                   	push   %eax
5ab33c:	8b c6                	mov    %esi,%eax
5ab33e:	e8 95 c5 04 00       	call   0x5f78d8
5ab343:	8b cb                	mov    %ebx,%ecx
5ab345:	5a                   	pop    %edx
5ab346:	e8 09 a3 00 00       	call   0x5b5654
5ab34b:	8b c6                	mov    %esi,%eax
5ab34d:	e8 86 c5 04 00       	call   0x5f78d8
5ab352:	8a 58 43             	mov    0x43(%eax),%bl
5ab355:	8b c7                	mov    %edi,%eax
5ab357:	e8 7c c5 04 00       	call   0x5f78d8
5ab35c:	88 58 43             	mov    %bl,0x43(%eax)
5ab35f:	5f                   	pop    %edi
5ab360:	5e                   	pop    %esi
5ab361:	5b                   	pop    %ebx
5ab362:	59                   	pop    %ecx
5ab363:	5d                   	pop    %ebp
5ab364:	c2 0c 00             	ret    $0xc
5ab367:	90                   	nop
5ab368:	53                   	push   %ebx
5ab369:	56                   	push   %esi
5ab36a:	57                   	push   %edi
5ab36b:	8b d9                	mov    %ecx,%ebx
5ab36d:	8b f2                	mov    %edx,%esi
5ab36f:	8b f8                	mov    %eax,%edi
5ab371:	8b cb                	mov    %ebx,%ecx
5ab373:	8b d6                	mov    %esi,%edx
5ab375:	8b c7                	mov    %edi,%eax
5ab377:	e8 f8 95 e7 ff       	call   0x424974
5ab37c:	8b 47 34             	mov    0x34(%edi),%eax
5ab37f:	3b f0                	cmp    %eax,%esi
5ab381:	75 12                	jne    0x5ab395
5ab383:	80 fb 01             	cmp    $0x1,%bl
5ab386:	75 0d                	jne    0x5ab395
5ab388:	8b 57 38             	mov    0x38(%edi),%edx
5ab38b:	e8 fc ad 01 00       	call   0x5c618c
5ab390:	33 c0                	xor    %eax,%eax
5ab392:	89 47 34             	mov    %eax,0x34(%edi)
5ab395:	3b 77 50             	cmp    0x50(%edi),%esi
5ab398:	75 0a                	jne    0x5ab3a4
5ab39a:	80 fb 01             	cmp    $0x1,%bl
5ab39d:	75 05                	jne    0x5ab3a4
5ab39f:	33 c0                	xor    %eax,%eax
5ab3a1:	89 47 50             	mov    %eax,0x50(%edi)
5ab3a4:	5f                   	pop    %edi
5ab3a5:	5e                   	pop    %esi
5ab3a6:	5b                   	pop    %ebx
5ab3a7:	c3                   	ret
5ab3a8:	55                   	push   %ebp
5ab3a9:	8b ec                	mov    %esp,%ebp
5ab3ab:	83 c4 c8             	add    $0xffffffc8,%esp
5ab3ae:	53                   	push   %ebx
5ab3af:	56                   	push   %esi
5ab3b0:	57                   	push   %edi
5ab3b1:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5ab3b4:	89 55 f8             	mov    %edx,-0x8(%ebp)
5ab3b7:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ab3ba:	8b 45 f8             	mov    -0x8(%ebp),%eax
5ab3bd:	33 d2                	xor    %edx,%edx
5ab3bf:	89 10                	mov    %edx,(%eax)
5ab3c1:	8b 45 f4             	mov    -0xc(%ebp),%eax
5ab3c4:	33 d2                	xor    %edx,%edx
5ab3c6:	89 10                	mov    %edx,(%eax)
5ab3c8:	8b 45 08             	mov    0x8(%ebp),%eax
5ab3cb:	33 d2                	xor    %edx,%edx
5ab3cd:	89 10                	mov    %edx,(%eax)
5ab3cf:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ab3d2:	8b 10                	mov    (%eax),%edx
5ab3d4:	ff 52 0c             	call   *0xc(%edx)
5ab3d7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5ab3da:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ab3dd:	8b 10                	mov    (%eax),%edx
5ab3df:	ff 52 08             	call   *0x8(%edx)
5ab3e2:	89 45 e0             	mov    %eax,-0x20(%ebp)
5ab3e5:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5ab3e8:	48                   	dec    %eax
5ab3e9:	89 45 f0             	mov    %eax,-0x10(%ebp)
5ab3ec:	8b 45 e0             	mov    -0x20(%ebp),%eax
5ab3ef:	48                   	dec    %eax
5ab3f0:	33 c9                	xor    %ecx,%ecx
5ab3f2:	55                   	push   %ebp
5ab3f3:	68 e0 b6 5a 00       	push   $0x5ab6e0
5ab3f8:	64 ff 31             	push   %fs:(%ecx)
5ab3fb:	64 89 21             	mov    %esp,%fs:(%ecx)
5ab3fe:	85 c0                	test   %eax,%eax
5ab400:	0f 8c a6 02 00 00    	jl     0x5ab6ac
5ab406:	40                   	inc    %eax
5ab407:	89 45 d0             	mov    %eax,-0x30(%ebp)
5ab40a:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
5ab411:	33 f6                	xor    %esi,%esi
5ab413:	33 c0                	xor    %eax,%eax
5ab415:	89 45 ec             	mov    %eax,-0x14(%ebp)
5ab418:	33 c0                	xor    %eax,%eax
5ab41a:	89 45 e8             	mov    %eax,-0x18(%ebp)
5ab41d:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ab420:	8b 10                	mov    (%eax),%edx
5ab422:	ff 52 10             	call   *0x10(%edx)
5ab425:	83 e0 7f             	and    $0x7f,%eax
5ab428:	83 f8 08             	cmp    $0x8,%eax
5ab42b:	0f 87 4c 02 00 00    	ja     0x5ab67d
5ab431:	ff 24 85 38 b4 5a 00 	jmp    *0x5ab438(,%eax,4)
5ab438:	7d b6                	jge    0x5ab3f0
5ab43a:	5a                   	pop    %edx
5ab43b:	00 5c b4 5a          	add    %bl,0x5a(%esp,%esi,4)
5ab43f:	00 af b4 5a 00 fc    	add    %ch,-0x3ffa54c(%edi)
5ab445:	b4 5a                	mov    $0x5a,%ah
5ab447:	00 2e                	add    %ch,(%esi)
5ab449:	b5 5a                	mov    $0x5a,%ch
5ab44b:	00 5a b5             	add    %bl,-0x4b(%edx)
5ab44e:	5a                   	pop    %edx
5ab44f:	00 92 b5 5a 00 ca    	add    %dl,-0x35ffa54b(%edx)
5ab455:	b5 5a                	mov    $0x5a,%ch
5ab457:	00 0b                	add    %cl,(%ebx)
5ab459:	b6 5a                	mov    $0x5a,%dh
5ab45b:	00 8b 55 dc 8b 45    	add    %cl,0x458bdc55(%ebx)
5ab461:	fc                   	cld
5ab462:	8b 08                	mov    (%eax),%ecx
5ab464:	ff 11                	call   *(%ecx)
5ab466:	89 45 d8             	mov    %eax,-0x28(%ebp)
5ab469:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5ab46c:	85 db                	test   %ebx,%ebx
5ab46e:	0f 8c 09 02 00 00    	jl     0x5ab67d
5ab474:	43                   	inc    %ebx
5ab475:	33 c0                	xor    %eax,%eax
5ab477:	8b d0                	mov    %eax,%edx
5ab479:	c1 ea 03             	shr    $0x3,%edx
5ab47c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5ab47f:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5ab482:	8b c8                	mov    %eax,%ecx
5ab484:	83 e1 07             	and    $0x7,%ecx
5ab487:	8b 3d 88 6d 6a 00    	mov    0x6a6d88,%edi
5ab48d:	22 14 0f             	and    (%edi,%ecx,1),%dl
5ab490:	74 14                	je     0x5ab4a6
5ab492:	81 c6 ff 00 00 00    	add    $0xff,%esi
5ab498:	81 45 ec ff 00 00 00 	addl   $0xff,-0x14(%ebp)
5ab49f:	81 45 e8 ff 00 00 00 	addl   $0xff,-0x18(%ebp)
5ab4a6:	40                   	inc    %eax
5ab4a7:	4b                   	dec    %ebx
5ab4a8:	75 cd                	jne    0x5ab477
5ab4aa:	e9 ce 01 00 00       	jmp    0x5ab67d
5ab4af:	8b 55 dc             	mov    -0x24(%ebp),%edx
5ab4b2:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ab4b5:	8b 08                	mov    (%eax),%ecx
5ab4b7:	ff 11                	call   *(%ecx)
5ab4b9:	89 45 d8             	mov    %eax,-0x28(%ebp)
5ab4bc:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5ab4bf:	85 db                	test   %ebx,%ebx
5ab4c1:	0f 8c b6 01 00 00    	jl     0x5ab67d
5ab4c7:	43                   	inc    %ebx
5ab4c8:	8d 4d cd             	lea    -0x33(%ebp),%ecx
5ab4cb:	8b 45 d8             	mov    -0x28(%ebp),%eax
5ab4ce:	33 d2                	xor    %edx,%edx
5ab4d0:	8a 10                	mov    (%eax),%dl
5ab4d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ab4d5:	8b 38                	mov    (%eax),%edi
5ab4d7:	ff 57 18             	call   *0x18(%edi)
5ab4da:	33 c0                	xor    %eax,%eax
5ab4dc:	8a 45 cf             	mov    -0x31(%ebp),%al
5ab4df:	03 f0                	add    %eax,%esi
5ab4e1:	33 c0                	xor    %eax,%eax
5ab4e3:	8a 45 ce             	mov    -0x32(%ebp),%al
5ab4e6:	01 45 ec             	add    %eax,-0x14(%ebp)
5ab4e9:	33 c0                	xor    %eax,%eax
5ab4eb:	8a 45 cd             	mov    -0x33(%ebp),%al
5ab4ee:	01 45 e8             	add    %eax,-0x18(%ebp)
5ab4f1:	ff 45 d8             	incl   -0x28(%ebp)
5ab4f4:	4b                   	dec    %ebx
5ab4f5:	75 d1                	jne    0x5ab4c8
5ab4f7:	e9 81 01 00 00       	jmp    0x5ab67d
5ab4fc:	8b 55 dc             	mov    -0x24(%ebp),%edx
5ab4ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ab502:	8b 08                	mov    (%eax),%ecx
5ab504:	ff 11                	call   *(%ecx)
5ab506:	89 45 d8             	mov    %eax,-0x28(%ebp)
5ab509:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5ab50c:	85 db                	test   %ebx,%ebx
5ab50e:	0f 8c 69 01 00 00    	jl     0x5ab67d
5ab514:	43                   	inc    %ebx
5ab515:	8b 45 d8             	mov    -0x28(%ebp),%eax
5ab518:	0f b6 00             	movzbl (%eax),%eax
5ab51b:	03 f0                	add    %eax,%esi
5ab51d:	01 45 ec             	add    %eax,-0x14(%ebp)
5ab520:	01 45 e8             	add    %eax,-0x18(%ebp)
5ab523:	ff 45 d8             	incl   -0x28(%ebp)
5ab526:	4b                   	dec    %ebx
5ab527:	75 ec                	jne    0x5ab515
5ab529:	e9 4f 01 00 00       	jmp    0x5ab67d
5ab52e:	8b 55 dc             	mov    -0x24(%ebp),%edx
5ab531:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ab534:	8b 08                	mov    (%eax),%ecx
5ab536:	ff 11                	call   *(%ecx)
5ab538:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5ab53b:	85 db                	test   %ebx,%ebx
5ab53d:	0f 8c 3a 01 00 00    	jl     0x5ab67d
5ab543:	43                   	inc    %ebx
5ab544:	0f b7 10             	movzwl (%eax),%edx
5ab547:	03 f2                	add    %edx,%esi
5ab549:	01 55 ec             	add    %edx,-0x14(%ebp)
5ab54c:	01 55 e8             	add    %edx,-0x18(%ebp)
5ab54f:	83 c0 02             	add    $0x2,%eax
5ab552:	4b                   	dec    %ebx
5ab553:	75 ef                	jne    0x5ab544
5ab555:	e9 23 01 00 00       	jmp    0x5ab67d
5ab55a:	8b 55 dc             	mov    -0x24(%ebp),%edx
5ab55d:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ab560:	8b 08                	mov    (%eax),%ecx
5ab562:	ff 11                	call   *(%ecx)
5ab564:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5ab567:	85 db                	test   %ebx,%ebx
5ab569:	0f 8c 0e 01 00 00    	jl     0x5ab67d
5ab56f:	43                   	inc    %ebx
5ab570:	8b d0                	mov    %eax,%edx
5ab572:	33 c9                	xor    %ecx,%ecx
5ab574:	8a 4a 02             	mov    0x2(%edx),%cl
5ab577:	03 f1                	add    %ecx,%esi
5ab579:	33 c9                	xor    %ecx,%ecx
5ab57b:	8a 4a 01             	mov    0x1(%edx),%cl
5ab57e:	01 4d ec             	add    %ecx,-0x14(%ebp)
5ab581:	0f b6 12             	movzbl (%edx),%edx
5ab584:	01 55 e8             	add    %edx,-0x18(%ebp)
5ab587:	83 c0 03             	add    $0x3,%eax
5ab58a:	4b                   	dec    %ebx
5ab58b:	75 e3                	jne    0x5ab570
5ab58d:	e9 eb 00 00 00       	jmp    0x5ab67d
5ab592:	8b 55 dc             	mov    -0x24(%ebp),%edx
5ab595:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ab598:	8b 08                	mov    (%eax),%ecx
5ab59a:	ff 11                	call   *(%ecx)
5ab59c:	8b f8                	mov    %eax,%edi
5ab59e:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5ab5a1:	85 db                	test   %ebx,%ebx
5ab5a3:	0f 8c d4 00 00 00    	jl     0x5ab67d
5ab5a9:	43                   	inc    %ebx
5ab5aa:	d9 07                	flds   (%edi)
5ab5ac:	d8 0d 10 b7 5a 00    	fmuls  0x5ab710
5ab5b2:	e8 15 77 e5 ff       	call   0x402ccc
5ab5b7:	03 f0                	add    %eax,%esi
5ab5b9:	01 45 ec             	add    %eax,-0x14(%ebp)
5ab5bc:	01 45 e8             	add    %eax,-0x18(%ebp)
5ab5bf:	83 c7 04             	add    $0x4,%edi
5ab5c2:	4b                   	dec    %ebx
5ab5c3:	75 e5                	jne    0x5ab5aa
5ab5c5:	e9 b3 00 00 00       	jmp    0x5ab67d
5ab5ca:	8b 55 dc             	mov    -0x24(%ebp),%edx
5ab5cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ab5d0:	8b 08                	mov    (%eax),%ecx
5ab5d2:	ff 11                	call   *(%ecx)
5ab5d4:	8b f8                	mov    %eax,%edi
5ab5d6:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5ab5d9:	85 db                	test   %ebx,%ebx
5ab5db:	0f 8c 9c 00 00 00    	jl     0x5ab67d
5ab5e1:	43                   	inc    %ebx
5ab5e2:	8d 55 d5             	lea    -0x2b(%ebp),%edx
5ab5e5:	8b 07                	mov    (%edi),%eax
5ab5e7:	e8 b4 99 02 00       	call   0x5d4fa0
5ab5ec:	33 c0                	xor    %eax,%eax
5ab5ee:	8a 45 d7             	mov    -0x29(%ebp),%al
5ab5f1:	03 f0                	add    %eax,%esi
5ab5f3:	33 c0                	xor    %eax,%eax
5ab5f5:	8a 45 d6             	mov    -0x2a(%ebp),%al
5ab5f8:	01 45 ec             	add    %eax,-0x14(%ebp)
5ab5fb:	33 c0                	xor    %eax,%eax
5ab5fd:	8a 45 d5             	mov    -0x2b(%ebp),%al
5ab600:	01 45 e8             	add    %eax,-0x18(%ebp)
5ab603:	83 c7 04             	add    $0x4,%edi
5ab606:	4b                   	dec    %ebx
5ab607:	75 d9                	jne    0x5ab5e2
5ab609:	eb 72                	jmp    0x5ab67d
5ab60b:	8b 55 dc             	mov    -0x24(%ebp),%edx
5ab60e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ab611:	8b 08                	mov    (%eax),%ecx
5ab613:	ff 11                	call   *(%ecx)
5ab615:	8b f8                	mov    %eax,%edi
5ab617:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5ab61a:	85 db                	test   %ebx,%ebx
5ab61c:	7c 5f                	jl     0x5ab67d
5ab61e:	43                   	inc    %ebx
5ab61f:	0f b7 07             	movzwl (%edi),%eax
5ab622:	89 45 c8             	mov    %eax,-0x38(%ebp)
5ab625:	db 45 c8             	fildl  -0x38(%ebp)
5ab628:	d8 35 10 b7 5a 00    	fdivs  0x5ab710
5ab62e:	d8 0d 14 b7 5a 00    	fmuls  0x5ab714
5ab634:	e8 93 76 e5 ff       	call   0x402ccc
5ab639:	03 f0                	add    %eax,%esi
5ab63b:	0f b7 47 02          	movzwl 0x2(%edi),%eax
5ab63f:	89 45 c8             	mov    %eax,-0x38(%ebp)
5ab642:	db 45 c8             	fildl  -0x38(%ebp)
5ab645:	d8 35 10 b7 5a 00    	fdivs  0x5ab710
5ab64b:	d8 0d 14 b7 5a 00    	fmuls  0x5ab714
5ab651:	e8 76 76 e5 ff       	call   0x402ccc
5ab656:	01 45 ec             	add    %eax,-0x14(%ebp)
5ab659:	0f b7 47 04          	movzwl 0x4(%edi),%eax
5ab65d:	89 45 c8             	mov    %eax,-0x38(%ebp)
5ab660:	db 45 c8             	fildl  -0x38(%ebp)
5ab663:	d8 35 10 b7 5a 00    	fdivs  0x5ab710
5ab669:	d8 0d 14 b7 5a 00    	fmuls  0x5ab714
5ab66f:	e8 58 76 e5 ff       	call   0x402ccc
5ab674:	01 45 e8             	add    %eax,-0x18(%ebp)
5ab677:	83 c7 06             	add    $0x6,%edi
5ab67a:	4b                   	dec    %ebx
5ab67b:	75 a2                	jne    0x5ab61f
5ab67d:	8b c6                	mov    %esi,%eax
5ab67f:	99                   	cltd
5ab680:	f7 7d e4             	idivl  -0x1c(%ebp)
5ab683:	8b 55 f8             	mov    -0x8(%ebp),%edx
5ab686:	01 02                	add    %eax,(%edx)
5ab688:	8b 45 ec             	mov    -0x14(%ebp),%eax
5ab68b:	99                   	cltd
5ab68c:	f7 7d e4             	idivl  -0x1c(%ebp)
5ab68f:	8b 55 f4             	mov    -0xc(%ebp),%edx
5ab692:	01 02                	add    %eax,(%edx)
5ab694:	8b 45 e8             	mov    -0x18(%ebp),%eax
5ab697:	99                   	cltd
5ab698:	f7 7d e4             	idivl  -0x1c(%ebp)
5ab69b:	8b 55 08             	mov    0x8(%ebp),%edx
5ab69e:	01 02                	add    %eax,(%edx)
5ab6a0:	ff 45 dc             	incl   -0x24(%ebp)
5ab6a3:	ff 4d d0             	decl   -0x30(%ebp)
5ab6a6:	0f 85 65 fd ff ff    	jne    0x5ab411
5ab6ac:	8b 45 f8             	mov    -0x8(%ebp),%eax
5ab6af:	8b 00                	mov    (%eax),%eax
5ab6b1:	99                   	cltd