5d7298:	e8 b3 34 00 00       	call   0x5da750
5d729d:	eb 1f                	jmp    0x5d72be
5d729f:	85 ff                	test   %edi,%edi
5d72a1:	75 06                	jne    0x5d72a9
5d72a3:	6a 10                	push   $0x10
5d72a5:	5f                   	pop    %edi
5d72a6:	89 7d 14             	mov    %edi,0x14(%ebp)
5d72a9:	0f b7 31             	movzwl (%ecx),%esi
5d72ac:	83 c1 02             	add    $0x2,%ecx
5d72af:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5d72b2:	eb 0a                	jmp    0x5d72be
5d72b4:	85 ff                	test   %edi,%edi
5d72b6:	75 06                	jne    0x5d72be
5d72b8:	6a 0a                	push   $0xa
5d72ba:	5f                   	pop    %edi
5d72bb:	89 7d 14             	mov    %edi,0x14(%ebp)
5d72be:	83 c8 ff             	or     $0xffffffff,%eax
5d72c1:	33 d2                	xor    %edx,%edx
5d72c3:	f7 f7                	div    %edi
5d72c5:	8b f8                	mov    %eax,%edi
5d72c7:	6a 30                	push   $0x30
5d72c9:	58                   	pop    %eax
5d72ca:	66 3b f0             	cmp    %ax,%si
5d72cd:	0f 82 4c 01 00 00    	jb     0x5d741f
5d72d3:	6a 3a                	push   $0x3a
5d72d5:	59                   	pop    %ecx
5d72d6:	66 3b f1             	cmp    %cx,%si
5d72d9:	0f 82 36 01 00 00    	jb     0x5d7415
5d72df:	b8 10 ff 00 00       	mov    $0xff10,%eax
5d72e4:	66 3b f0             	cmp    %ax,%si
5d72e7:	0f 83 1f 01 00 00    	jae    0x5d740c
5d72ed:	8b 45 f8             	mov    -0x8(%ebp),%eax
5d72f0:	66 3b f0             	cmp    %ax,%si
5d72f3:	0f 82 26 01 00 00    	jb     0x5d741f
5d72f9:	66 3b 75 f4          	cmp    -0xc(%ebp),%si
5d72fd:	0f 82 12 01 00 00    	jb     0x5d7415
5d7303:	8b 45 f0             	mov    -0x10(%ebp),%eax
5d7306:	66 3b f0             	cmp    %ax,%si
5d7309:	0f 82 10 01 00 00    	jb     0x5d741f
5d730f:	66 3b 75 ec          	cmp    -0x14(%ebp),%si
5d7313:	0f 82 fc 00 00 00    	jb     0x5d7415
5d7319:	8b 45 e8             	mov    -0x18(%ebp),%eax
5d731c:	66 3b f0             	cmp    %ax,%si
5d731f:	0f 82 fa 00 00 00    	jb     0x5d741f
5d7325:	66 3b 75 e4          	cmp    -0x1c(%ebp),%si
5d7329:	0f 82 e6 00 00 00    	jb     0x5d7415
5d732f:	8b 45 e0             	mov    -0x20(%ebp),%eax
5d7332:	66 3b f0             	cmp    %ax,%si
5d7335:	0f 82 e4 00 00 00    	jb     0x5d741f
5d733b:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
5d733f:	0f 82 d0 00 00 00    	jb     0x5d7415
5d7345:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d7348:	66 3b f0             	cmp    %ax,%si
5d734b:	0f 82 ce 00 00 00    	jb     0x5d741f
5d7351:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
5d7355:	0f 82 ba 00 00 00    	jb     0x5d7415
5d735b:	8b 45 d0             	mov    -0x30(%ebp),%eax
5d735e:	66 3b f0             	cmp    %ax,%si
5d7361:	0f 82 b8 00 00 00    	jb     0x5d741f
5d7367:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
5d736b:	0f 82 a4 00 00 00    	jb     0x5d7415
5d7371:	8b 45 c8             	mov    -0x38(%ebp),%eax
5d7374:	66 3b f0             	cmp    %ax,%si
5d7377:	0f 82 a2 00 00 00    	jb     0x5d741f
5d737d:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
5d7381:	0f 82 8e 00 00 00    	jb     0x5d7415
5d7387:	8b 45 c0             	mov    -0x40(%ebp),%eax
5d738a:	66 3b f0             	cmp    %ax,%si
5d738d:	0f 82 8c 00 00 00    	jb     0x5d741f
5d7393:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
5d7397:	72 7c                	jb     0x5d7415
5d7399:	8b 45 b8             	mov    -0x48(%ebp),%eax
5d739c:	66 3b f0             	cmp    %ax,%si
5d739f:	72 7e                	jb     0x5d741f
5d73a1:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
5d73a5:	72 6e                	jb     0x5d7415
5d73a7:	8b 45 b0             	mov    -0x50(%ebp),%eax
5d73aa:	66 3b f0             	cmp    %ax,%si
5d73ad:	72 70                	jb     0x5d741f
5d73af:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
5d73b3:	72 60                	jb     0x5d7415
5d73b5:	8b 45 a8             	mov    -0x58(%ebp),%eax
5d73b8:	66 3b f0             	cmp    %ax,%si
5d73bb:	72 62                	jb     0x5d741f
5d73bd:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
5d73c1:	72 52                	jb     0x5d7415
5d73c3:	8b 45 a0             	mov    -0x60(%ebp),%eax
5d73c6:	66 3b f0             	cmp    %ax,%si
5d73c9:	72 54                	jb     0x5d741f
5d73cb:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
5d73cf:	72 44                	jb     0x5d7415
5d73d1:	8b 45 98             	mov    -0x68(%ebp),%eax
5d73d4:	66 3b f0             	cmp    %ax,%si
5d73d7:	72 46                	jb     0x5d741f
5d73d9:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
5d73dd:	72 36                	jb     0x5d7415
5d73df:	8b 45 90             	mov    -0x70(%ebp),%eax
5d73e2:	66 3b f0             	cmp    %ax,%si
5d73e5:	72 38                	jb     0x5d741f
5d73e7:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
5d73eb:	72 28                	jb     0x5d7415
5d73ed:	8b 45 88             	mov    -0x78(%ebp),%eax
5d73f0:	66 3b f0             	cmp    %ax,%si
5d73f3:	72 2a                	jb     0x5d741f
5d73f5:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
5d73f9:	72 1a                	jb     0x5d7415
5d73fb:	8b 45 80             	mov    -0x80(%ebp),%eax
5d73fe:	66 3b f0             	cmp    %ax,%si
5d7401:	72 1c                	jb     0x5d741f
5d7403:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
5d740a:	eb 07                	jmp    0x5d7413
5d740c:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
5d7413:	73 0a                	jae    0x5d741f
5d7415:	0f b7 ce             	movzwl %si,%ecx
5d7418:	2b c8                	sub    %eax,%ecx
5d741a:	83 f9 ff             	cmp    $0xffffffff,%ecx
5d741d:	75 2e                	jne    0x5d744d
5d741f:	0f b7 ce             	movzwl %si,%ecx
5d7422:	83 f9 41             	cmp    $0x41,%ecx
5d7425:	72 05                	jb     0x5d742c
5d7427:	83 f9 5a             	cmp    $0x5a,%ecx
5d742a:	76 0b                	jbe    0x5d7437
5d742c:	83 f9 61             	cmp    $0x61,%ecx
5d742f:	72 19                	jb     0x5d744a
5d7431:	66 83 fe 7a          	cmp    $0x7a,%si
5d7435:	77 13                	ja     0x5d744a
5d7437:	6a 19                	push   $0x19
5d7439:	8d 46 9f             	lea    -0x61(%esi),%eax
5d743c:	5a                   	pop    %edx
5d743d:	66 3b c2             	cmp    %dx,%ax
5d7440:	77 03                	ja     0x5d7445
5d7442:	83 c1 e0             	add    $0xffffffe0,%ecx
5d7445:	83 c1 c9             	add    $0xffffffc9,%ecx
5d7448:	eb 03                	jmp    0x5d744d
5d744a:	83 c9 ff             	or     $0xffffffff,%ecx
5d744d:	8b 55 14             	mov    0x14(%ebp),%edx
5d7450:	3b ca                	cmp    %edx,%ecx
5d7452:	73 34                	jae    0x5d7488
5d7454:	8b 45 fc             	mov    -0x4(%ebp),%eax
5d7457:	0f af c2             	imul   %edx,%eax
5d745a:	8d 14 08             	lea    (%eax,%ecx,1),%edx
5d745d:	3b d0                	cmp    %eax,%edx
5d745f:	1b c9                	sbb    %ecx,%ecx
5d7461:	f7 d9                	neg    %ecx
5d7463:	3b 7d fc             	cmp    -0x4(%ebp),%edi
5d7466:	89 55 fc             	mov    %edx,-0x4(%ebp)
5d7469:	1b c0                	sbb    %eax,%eax
5d746b:	f7 d8                	neg    %eax
5d746d:	0b c8                	or     %eax,%ecx
5d746f:	c1 e1 02             	shl    $0x2,%ecx
5d7472:	83 c9 08             	or     $0x8,%ecx
5d7475:	0b d9                	or     %ecx,%ebx
5d7477:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d747a:	0f b7 31             	movzwl (%ecx),%esi
5d747d:	83 c1 02             	add    $0x2,%ecx
5d7480:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5d7483:	e9 3f fe ff ff       	jmp    0x5d72c7
5d7488:	56                   	push   %esi
5d7489:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d748c:	e8 bf 32 00 00       	call   0x5da750
5d7491:	f6 c3 08             	test   $0x8,%bl
5d7494:	75 13                	jne    0x5d74a9
5d7496:	8b 45 10             	mov    0x10(%ebp),%eax
5d7499:	85 c0                	test   %eax,%eax
5d749b:	74 08                	je     0x5d74a5
5d749d:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
5d74a3:	89 08                	mov    %ecx,(%eax)
5d74a5:	33 c0                	xor    %eax,%eax
5d74a7:	eb 65                	jmp    0x5d750e
5d74a9:	8b 75 fc             	mov    -0x4(%ebp),%esi
5d74ac:	56                   	push   %esi
5d74ad:	53                   	push   %ebx
5d74ae:	e8 b0 f7 ff ff       	call   0x5d6c63
5d74b3:	59                   	pop    %ecx
5d74b4:	59                   	pop    %ecx
5d74b5:	84 c0                	test   %al,%al
5d74b7:	74 40                	je     0x5d74f9
5d74b9:	8b 45 08             	mov    0x8(%ebp),%eax
5d74bc:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5d74c0:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
5d74c7:	f6 c3 01             	test   $0x1,%bl
5d74ca:	75 05                	jne    0x5d74d1
5d74cc:	83 ce ff             	or     $0xffffffff,%esi
5d74cf:	eb 2f                	jmp    0x5d7500
5d74d1:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d74d4:	f6 c3 02             	test   $0x2,%bl
5d74d7:	74 10                	je     0x5d74e9
5d74d9:	85 c9                	test   %ecx,%ecx
5d74db:	74 05                	je     0x5d74e2
5d74dd:	8b 45 0c             	mov    0xc(%ebp),%eax
5d74e0:	89 01                	mov    %eax,(%ecx)
5d74e2:	b8 00 00 00 80       	mov    $0x80000000,%eax
5d74e7:	eb 25                	jmp    0x5d750e
5d74e9:	85 c9                	test   %ecx,%ecx
5d74eb:	74 05                	je     0x5d74f2
5d74ed:	8b 45 0c             	mov    0xc(%ebp),%eax
5d74f0:	89 01                	mov    %eax,(%ecx)
5d74f2:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5d74f7:	eb 15                	jmp    0x5d750e
5d74f9:	f6 c3 02             	test   $0x2,%bl
5d74fc:	74 02                	je     0x5d7500
5d74fe:	f7 de                	neg    %esi
5d7500:	8b 55 10             	mov    0x10(%ebp),%edx
5d7503:	85 d2                	test   %edx,%edx
5d7505:	74 05                	je     0x5d750c
5d7507:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d750a:	89 0a                	mov    %ecx,(%edx)
5d750c:	8b c6                	mov    %esi,%eax
5d750e:	5f                   	pop    %edi
5d750f:	5e                   	pop    %esi
5d7510:	5b                   	pop    %ebx
5d7511:	c9                   	leave
5d7512:	c3                   	ret
5d7513:	8b ff                	mov    %edi,%edi
5d7515:	56                   	push   %esi
5d7516:	8b f1                	mov    %ecx,%esi
5d7518:	57                   	push   %edi
5d7519:	8b be 04 04 00 00    	mov    0x404(%esi),%edi
5d751f:	e8 0b f6 ff ff       	call   0x5d6b2f
5d7524:	85 ff                	test   %edi,%edi
5d7526:	75 04                	jne    0x5d752c
5d7528:	03 c6                	add    %esi,%eax
5d752a:	eb 02                	jmp    0x5d752e
5d752c:	03 c7                	add    %edi,%eax
5d752e:	5f                   	pop    %edi
5d752f:	5e                   	pop    %esi
5d7530:	c3                   	ret
5d7531:	8b ff                	mov    %edi,%edi
5d7533:	55                   	push   %ebp
5d7534:	8b ec                	mov    %esp,%ebp
5d7536:	83 ec 0c             	sub    $0xc,%esp
5d7539:	53                   	push   %ebx
5d753a:	56                   	push   %esi
5d753b:	8b f1                	mov    %ecx,%esi
5d753d:	57                   	push   %edi
5d753e:	ff 76 28             	push   0x28(%esi)
5d7541:	e8 2c 2a 00 00       	call   0x5d9f72
5d7546:	59                   	pop    %ecx
5d7547:	8b c8                	mov    %eax,%ecx
5d7549:	89 45 f4             	mov    %eax,-0xc(%ebp)
5d754c:	6a 00                	push   $0x0
5d754e:	5b                   	pop    %ebx
5d754f:	83 e9 01             	sub    $0x1,%ecx
5d7552:	0f 84 99 00 00 00    	je     0x5d75f1
5d7558:	83 e9 01             	sub    $0x1,%ecx
5d755b:	74 75                	je     0x5d75d2
5d755d:	49                   	dec    %ecx
5d755e:	83 e9 01             	sub    $0x1,%ecx
5d7561:	74 46                	je     0x5d75a9
5d7563:	83 e9 04             	sub    $0x4,%ecx
5d7566:	74 27                	je     0x5d758f
5d7568:	8b 46 08             	mov    0x8(%esi),%eax
5d756b:	83 c0 18             	add    $0x18,%eax
5d756e:	c6 40 04 01          	movb   $0x1,0x4(%eax)
5d7572:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5d7578:	ff 76 08             	push   0x8(%esi)
5d757b:	53                   	push   %ebx
5d757c:	53                   	push   %ebx
5d757d:	53                   	push   %ebx
5d757e:	53                   	push   %ebx
5d757f:	53                   	push   %ebx
5d7580:	e8 de eb ff ff       	call   0x5d6163
5d7585:	83 c4 18             	add    $0x18,%esp
5d7588:	32 c0                	xor    %al,%al
5d758a:	e9 28 01 00 00       	jmp    0x5d76b7
5d758f:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7592:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7595:	8b c7                	mov    %edi,%eax
5d7597:	c1 e8 04             	shr    $0x4,%eax
5d759a:	a8 01                	test   $0x1,%al
5d759c:	8d 41 08             	lea    0x8(%ecx),%eax
5d759f:	89 46 10             	mov    %eax,0x10(%esi)
5d75a2:	8b 01                	mov    (%ecx),%eax
5d75a4:	8b 51 04             	mov    0x4(%ecx),%edx
5d75a7:	eb 66                	jmp    0x5d760f
5d75a9:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d75ac:	8b c7                	mov    %edi,%eax
5d75ae:	c1 e8 04             	shr    $0x4,%eax
5d75b1:	a8 01                	test   $0x1,%al
5d75b3:	74 0d                	je     0x5d75c2
5d75b5:	8b 46 10             	mov    0x10(%esi),%eax
5d75b8:	8d 48 04             	lea    0x4(%eax),%ecx
5d75bb:	89 4e 10             	mov    %ecx,0x10(%esi)
5d75be:	8b 00                	mov    (%eax),%eax
5d75c0:	eb 4c                	jmp    0x5d760e
5d75c2:	8b 4e 10             	mov    0x10(%esi),%ecx
5d75c5:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5d75c8:	8d 41 04             	lea    0x4(%ecx),%eax
5d75cb:	89 46 10             	mov    %eax,0x10(%esi)
5d75ce:	8b 01                	mov    (%ecx),%eax
5d75d0:	eb 40                	jmp    0x5d7612
5d75d2:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d75d5:	8b c7                	mov    %edi,%eax
5d75d7:	8b 4e 10             	mov    0x10(%esi),%ecx
5d75da:	c1 e8 04             	shr    $0x4,%eax
5d75dd:	a8 01                	test   $0x1,%al
5d75df:	8d 41 04             	lea    0x4(%ecx),%eax
5d75e2:	89 46 10             	mov    %eax,0x10(%esi)
5d75e5:	74 05                	je     0x5d75ec
5d75e7:	0f bf 01             	movswl (%ecx),%eax
5d75ea:	eb 22                	jmp    0x5d760e
5d75ec:	0f b7 01             	movzwl (%ecx),%eax
5d75ef:	eb 1d                	jmp    0x5d760e
5d75f1:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d75f4:	8b c7                	mov    %edi,%eax
5d75f6:	8b 4e 10             	mov    0x10(%esi),%ecx
5d75f9:	c1 e8 04             	shr    $0x4,%eax
5d75fc:	a8 01                	test   $0x1,%al
5d75fe:	8d 41 04             	lea    0x4(%ecx),%eax
5d7601:	89 46 10             	mov    %eax,0x10(%esi)
5d7604:	74 05                	je     0x5d760b
5d7606:	0f be 01             	movsbl (%ecx),%eax
5d7609:	eb 03                	jmp    0x5d760e
5d760b:	0f b6 01             	movzbl (%ecx),%eax
5d760e:	99                   	cltd
5d760f:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d7612:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d7615:	89 45 fc             	mov    %eax,-0x4(%ebp)
5d7618:	8b c7                	mov    %edi,%eax
5d761a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d761d:	c1 e8 04             	shr    $0x4,%eax
5d7620:	a8 01                	test   $0x1,%al
5d7622:	74 16                	je     0x5d763a
5d7624:	3b d3                	cmp    %ebx,%edx
5d7626:	7f 12                	jg     0x5d763a
5d7628:	7c 04                	jl     0x5d762e
5d762a:	3b cb                	cmp    %ebx,%ecx
5d762c:	73 0c                	jae    0x5d763a
5d762e:	f7 d9                	neg    %ecx
5d7630:	13 d3                	adc    %ebx,%edx
5d7632:	f7 da                	neg    %edx
5d7634:	83 cf 40             	or     $0x40,%edi
5d7637:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d763a:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
5d763e:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d7641:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5d7644:	7d 09                	jge    0x5d764f
5d7646:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
5d764d:	eb 1a                	jmp    0x5d7669
5d764f:	ff 76 08             	push   0x8(%esi)
5d7652:	83 e7 f7             	and    $0xfffffff7,%edi
5d7655:	8d 4e 3c             	lea    0x3c(%esi),%ecx
5d7658:	ff 76 24             	push   0x24(%esi)
5d765b:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d765e:	e8 fd f4 ff ff       	call   0x5d6b60
5d7663:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d7666:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d7669:	8b c1                	mov    %ecx,%eax
5d766b:	0b c2                	or     %edx,%eax
5d766d:	75 04                	jne    0x5d7673