5d83f4:	8b ec                	mov    %esp,%ebp
5d83f6:	51                   	push   %ecx
5d83f7:	51                   	push   %ecx
5d83f8:	53                   	push   %ebx
5d83f9:	56                   	push   %esi
5d83fa:	8b f1                	mov    %ecx,%esi
5d83fc:	57                   	push   %edi
5d83fd:	8d 4e 3c             	lea    0x3c(%esi),%ecx
5d8400:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
5d8406:	85 ff                	test   %edi,%edi
5d8408:	75 02                	jne    0x5d840c
5d840a:	8b f9                	mov    %ecx,%edi
5d840c:	e8 1e e7 ff ff       	call   0x5d6b2f
5d8411:	8b 5d 08             	mov    0x8(%ebp),%ebx
5d8414:	8d 48 ff             	lea    -0x1(%eax),%ecx
5d8417:	03 cf                	add    %edi,%ecx
5d8419:	8b 7d 0c             	mov    0xc(%ebp),%edi
5d841c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5d841f:	8b d1                	mov    %ecx,%edx
5d8421:	89 4e 30             	mov    %ecx,0x30(%esi)
5d8424:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5d8427:	8b 46 24             	mov    0x24(%esi),%eax
5d842a:	85 c0                	test   %eax,%eax
5d842c:	7f 09                	jg     0x5d8437
5d842e:	8b c3                	mov    %ebx,%eax
5d8430:	0b c7                	or     %edi,%eax
5d8432:	74 32                	je     0x5d8466
5d8434:	8b 46 24             	mov    0x24(%esi),%eax
5d8437:	48                   	dec    %eax
5d8438:	89 46 24             	mov    %eax,0x24(%esi)
5d843b:	8a c3                	mov    %bl,%al
5d843d:	24 0f                	and    $0xf,%al
5d843f:	0f ac fb 04          	shrd   $0x4,%edi,%ebx
5d8443:	04 30                	add    $0x30,%al
5d8445:	c1 ef 04             	shr    $0x4,%edi
5d8448:	8a d0                	mov    %al,%dl
5d844a:	3c 39                	cmp    $0x39,%al
5d844c:	76 0c                	jbe    0x5d845a
5d844e:	8a 45 10             	mov    0x10(%ebp),%al
5d8451:	34 01                	xor    $0x1,%al
5d8453:	c0 e0 05             	shl    $0x5,%al
5d8456:	04 07                	add    $0x7,%al
5d8458:	02 c2                	add    %dl,%al
5d845a:	88 01                	mov    %al,(%ecx)
5d845c:	ff 4e 30             	decl   0x30(%esi)
5d845f:	8b 56 30             	mov    0x30(%esi),%edx
5d8462:	8b ca                	mov    %edx,%ecx
5d8464:	eb c1                	jmp    0x5d8427
5d8466:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5d8469:	8d 42 01             	lea    0x1(%edx),%eax
5d846c:	2b ca                	sub    %edx,%ecx
5d846e:	89 4e 34             	mov    %ecx,0x34(%esi)
5d8471:	5f                   	pop    %edi
5d8472:	89 46 30             	mov    %eax,0x30(%esi)
5d8475:	5e                   	pop    %esi
5d8476:	5b                   	pop    %ebx
5d8477:	c9                   	leave
5d8478:	c2 0c 00             	ret    $0xc
5d847b:	8b ff                	mov    %edi,%edi
5d847d:	55                   	push   %ebp
5d847e:	8b ec                	mov    %esp,%ebp
5d8480:	51                   	push   %ecx
5d8481:	51                   	push   %ecx
5d8482:	53                   	push   %ebx
5d8483:	56                   	push   %esi
5d8484:	8b f1                	mov    %ecx,%esi
5d8486:	57                   	push   %edi
5d8487:	8d 4e 3c             	lea    0x3c(%esi),%ecx
5d848a:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
5d8490:	85 ff                	test   %edi,%edi
5d8492:	75 02                	jne    0x5d8496
5d8494:	8b f9                	mov    %ecx,%edi
5d8496:	e8 ac e6 ff ff       	call   0x5d6b47
5d849b:	8b 5d 08             	mov    0x8(%ebp),%ebx
5d849e:	8d 48 ff             	lea    -0x1(%eax),%ecx
5d84a1:	8d 0c 4f             	lea    (%edi,%ecx,2),%ecx
5d84a4:	8b 7d 0c             	mov    0xc(%ebp),%edi
5d84a7:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5d84aa:	8b d1                	mov    %ecx,%edx
5d84ac:	89 4e 30             	mov    %ecx,0x30(%esi)
5d84af:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5d84b2:	8b 46 24             	mov    0x24(%esi),%eax
5d84b5:	85 c0                	test   %eax,%eax
5d84b7:	7f 09                	jg     0x5d84c2
5d84b9:	8b c3                	mov    %ebx,%eax
5d84bb:	0b c7                	or     %edi,%eax
5d84bd:	74 3b                	je     0x5d84fa
5d84bf:	8b 46 24             	mov    0x24(%esi),%eax
5d84c2:	48                   	dec    %eax
5d84c3:	89 46 24             	mov    %eax,0x24(%esi)
5d84c6:	8b c3                	mov    %ebx,%eax
5d84c8:	83 e0 0f             	and    $0xf,%eax
5d84cb:	83 c0 30             	add    $0x30,%eax
5d84ce:	0f ac fb 04          	shrd   $0x4,%edi,%ebx
5d84d2:	0f b7 d0             	movzwl %ax,%edx
5d84d5:	c1 ef 04             	shr    $0x4,%edi
5d84d8:	83 fa 39             	cmp    $0x39,%edx
5d84db:	76 0f                	jbe    0x5d84ec
5d84dd:	8a 45 10             	mov    0x10(%ebp),%al
5d84e0:	34 01                	xor    $0x1,%al
5d84e2:	c0 e0 05             	shl    $0x5,%al
5d84e5:	04 07                	add    $0x7,%al
5d84e7:	02 c2                	add    %dl,%al
5d84e9:	0f b6 d0             	movzbl %al,%edx
5d84ec:	66 89 11             	mov    %dx,(%ecx)
5d84ef:	83 46 30 fe          	addl   $0xfffffffe,0x30(%esi)
5d84f3:	8b 56 30             	mov    0x30(%esi),%edx
5d84f6:	8b ca                	mov    %edx,%ecx
5d84f8:	eb b8                	jmp    0x5d84b2
5d84fa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5d84fd:	8d 42 02             	lea    0x2(%edx),%eax
5d8500:	2b ca                	sub    %edx,%ecx
5d8502:	d1 f9                	sar    $1,%ecx
5d8504:	89 4e 34             	mov    %ecx,0x34(%esi)
5d8507:	5f                   	pop    %edi
5d8508:	89 46 30             	mov    %eax,0x30(%esi)
5d850b:	5e                   	pop    %esi
5d850c:	5b                   	pop    %ebx
5d850d:	c9                   	leave
5d850e:	c2 0c 00             	ret    $0xc
5d8511:	8b ff                	mov    %edi,%edi
5d8513:	55                   	push   %ebp
5d8514:	8b ec                	mov    %esp,%ebp
5d8516:	8b 45 18             	mov    0x18(%ebp),%eax
5d8519:	8b d1                	mov    %ecx,%edx
5d851b:	33 c9                	xor    %ecx,%ecx
5d851d:	89 42 08             	mov    %eax,0x8(%edx)
5d8520:	8b 45 08             	mov    0x8(%ebp),%eax
5d8523:	89 0a                	mov    %ecx,(%edx)
5d8525:	89 4a 04             	mov    %ecx,0x4(%edx)
5d8528:	89 4a 0c             	mov    %ecx,0xc(%edx)
5d852b:	89 4a 10             	mov    %ecx,0x10(%edx)
5d852e:	89 8a 3c 04 00 00    	mov    %ecx,0x43c(%edx)
5d8534:	89 8a 40 04 00 00    	mov    %ecx,0x440(%edx)
5d853a:	89 4a 14             	mov    %ecx,0x14(%edx)
5d853d:	88 4a 18             	mov    %cl,0x18(%edx)
5d8540:	89 4a 1c             	mov    %ecx,0x1c(%edx)
5d8543:	89 4a 20             	mov    %ecx,0x20(%edx)
5d8546:	89 4a 24             	mov    %ecx,0x24(%edx)
5d8549:	66 89 4a 2c          	mov    %cx,0x2c(%edx)
5d854d:	89 4a 34             	mov    %ecx,0x34(%edx)
5d8550:	88 4a 38             	mov    %cl,0x38(%edx)
5d8553:	8b 00                	mov    (%eax),%eax
5d8555:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d8558:	89 82 48 04 00 00    	mov    %eax,0x448(%edx)
5d855e:	8b 45 0c             	mov    0xc(%ebp),%eax
5d8561:	89 02                	mov    %eax,(%edx)
5d8563:	8b 45 14             	mov    0x14(%ebp),%eax
5d8566:	89 42 0c             	mov    %eax,0xc(%edx)
5d8569:	8b 45 1c             	mov    0x1c(%ebp),%eax
5d856c:	89 42 10             	mov    %eax,0x10(%edx)
5d856f:	8b c2                	mov    %edx,%eax
5d8571:	89 4a 04             	mov    %ecx,0x4(%edx)
5d8574:	5d                   	pop    %ebp
5d8575:	c2 18 00             	ret    $0x18
5d8578:	8b ff                	mov    %edi,%edi
5d857a:	55                   	push   %ebp
5d857b:	8b ec                	mov    %esp,%ebp
5d857d:	8b 45 18             	mov    0x18(%ebp),%eax
5d8580:	8b d1                	mov    %ecx,%edx
5d8582:	33 c9                	xor    %ecx,%ecx
5d8584:	89 42 08             	mov    %eax,0x8(%edx)
5d8587:	33 c0                	xor    %eax,%eax
5d8589:	66 89 42 2e          	mov    %ax,0x2e(%edx)
5d858d:	8b 45 08             	mov    0x8(%ebp),%eax
5d8590:	89 0a                	mov    %ecx,(%edx)
5d8592:	89 4a 04             	mov    %ecx,0x4(%edx)
5d8595:	89 4a 0c             	mov    %ecx,0xc(%edx)
5d8598:	89 4a 10             	mov    %ecx,0x10(%edx)
5d859b:	89 8a 3c 04 00 00    	mov    %ecx,0x43c(%edx)
5d85a1:	89 8a 40 04 00 00    	mov    %ecx,0x440(%edx)
5d85a7:	89 4a 14             	mov    %ecx,0x14(%edx)
5d85aa:	88 4a 18             	mov    %cl,0x18(%edx)
5d85ad:	89 4a 1c             	mov    %ecx,0x1c(%edx)
5d85b0:	89 4a 20             	mov    %ecx,0x20(%edx)
5d85b3:	89 4a 24             	mov    %ecx,0x24(%edx)
5d85b6:	88 4a 2c             	mov    %cl,0x2c(%edx)
5d85b9:	89 4a 34             	mov    %ecx,0x34(%edx)
5d85bc:	88 4a 38             	mov    %cl,0x38(%edx)
5d85bf:	8b 00                	mov    (%eax),%eax
5d85c1:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d85c4:	89 82 48 04 00 00    	mov    %eax,0x448(%edx)
5d85ca:	8b 45 0c             	mov    0xc(%ebp),%eax
5d85cd:	89 02                	mov    %eax,(%edx)
5d85cf:	8b 45 14             	mov    0x14(%ebp),%eax
5d85d2:	89 42 0c             	mov    %eax,0xc(%edx)
5d85d5:	8b 45 1c             	mov    0x1c(%ebp),%eax
5d85d8:	89 42 10             	mov    %eax,0x10(%edx)
5d85db:	8b c2                	mov    %edx,%eax
5d85dd:	89 4a 04             	mov    %ecx,0x4(%edx)
5d85e0:	5d                   	pop    %ebp
5d85e1:	c2 18 00             	ret    $0x18
5d85e4:	8b ff                	mov    %edi,%edi
5d85e6:	56                   	push   %esi
5d85e7:	8b f1                	mov    %ecx,%esi
5d85e9:	ff b6 04 04 00 00    	push   0x404(%esi)
5d85ef:	e8 2e 2c 01 00       	call   0x5eb222
5d85f4:	83 a6 04 04 00 00 00 	andl   $0x0,0x404(%esi)
5d85fb:	59                   	pop    %ecx
5d85fc:	5e                   	pop    %esi
5d85fd:	c3                   	ret
5d85fe:	8b ff                	mov    %edi,%edi
5d8600:	55                   	push   %ebp
5d8601:	8b ec                	mov    %esp,%ebp
5d8603:	56                   	push   %esi
5d8604:	8b f1                	mov    %ecx,%esi
5d8606:	ff 36                	push   (%esi)
5d8608:	e8 15 2c 01 00       	call   0x5eb222
5d860d:	8b 55 08             	mov    0x8(%ebp),%edx
5d8610:	83 26 00             	andl   $0x0,(%esi)
5d8613:	59                   	pop    %ecx
5d8614:	8b 02                	mov    (%edx),%eax
5d8616:	89 06                	mov    %eax,(%esi)
5d8618:	8b c6                	mov    %esi,%eax
5d861a:	83 22 00             	andl   $0x0,(%edx)
5d861d:	5e                   	pop    %esi
5d861e:	5d                   	pop    %ebp
5d861f:	c2 04 00             	ret    $0x4
5d8622:	8b ff                	mov    %edi,%edi
5d8624:	55                   	push   %ebp
5d8625:	8b ec                	mov    %esp,%ebp
5d8627:	81 ec 64 04 00 00    	sub    $0x464,%esp
5d862d:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5d8632:	33 c5                	xor    %ebp,%eax
5d8634:	89 45 fc             	mov    %eax,-0x4(%ebp)
5d8637:	53                   	push   %ebx
5d8638:	56                   	push   %esi
5d8639:	8b f1                	mov    %ecx,%esi
5d863b:	57                   	push   %edi
5d863c:	8b 06                	mov    (%esi),%eax
5d863e:	8b 7e 04             	mov    0x4(%esi),%edi
5d8641:	8b 18                	mov    (%eax),%ebx
5d8643:	53                   	push   %ebx
5d8644:	e8 e2 3a 01 00       	call   0x5ec12b
5d8649:	88 85 9c fb ff ff    	mov    %al,-0x464(%ebp)
5d864f:	8b 06                	mov    (%esi),%eax
5d8651:	59                   	pop    %ecx
5d8652:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
5d8658:	8b 00                	mov    (%eax),%eax
5d865a:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
5d8660:	8b 46 10             	mov    0x10(%esi),%eax
5d8663:	ff 30                	push   (%eax)
5d8665:	8b 46 0c             	mov    0xc(%esi),%eax
5d8668:	ff 76 04             	push   0x4(%esi)
5d866b:	ff 30                	push   (%eax)
5d866d:	8b 46 08             	mov    0x8(%esi),%eax
5d8670:	ff 70 04             	push   0x4(%eax)
5d8673:	ff 30                	push   (%eax)
5d8675:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
5d867b:	50                   	push   %eax
5d867c:	e8 90 fe ff ff       	call   0x5d8511
5d8681:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
5d8685:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
5d868b:	e8 51 02 00 00       	call   0x5d88e1
5d8690:	8d 8d e0 fb ff ff    	lea    -0x420(%ebp),%ecx
5d8696:	8b f0                	mov    %eax,%esi
5d8698:	e8 47 ff ff ff       	call   0x5d85e4
5d869d:	57                   	push   %edi
5d869e:	53                   	push   %ebx
5d869f:	ff b5 9c fb ff ff    	push   -0x464(%ebp)
5d86a5:	e8 2c 3b 01 00       	call   0x5ec1d6
5d86aa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d86ad:	83 c4 0c             	add    $0xc,%esp
5d86b0:	8b c6                	mov    %esi,%eax
5d86b2:	33 cd                	xor    %ebp,%ecx
5d86b4:	5f                   	pop    %edi
5d86b5:	5e                   	pop    %esi
5d86b6:	5b                   	pop    %ebx
5d86b7:	e8 6a 93 ff ff       	call   0x5d1a26
5d86bc:	c9                   	leave
5d86bd:	c3                   	ret
5d86be:	8b ff                	mov    %edi,%edi
5d86c0:	55                   	push   %ebp
5d86c1:	8b ec                	mov    %esp,%ebp
5d86c3:	8b 45 0c             	mov    0xc(%ebp),%eax
5d86c6:	8b 4d 08             	mov    0x8(%ebp),%ecx
5d86c9:	53                   	push   %ebx
5d86ca:	8b 00                	mov    (%eax),%eax
5d86cc:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
5d86d2:	8b 00                	mov    (%eax),%eax
5d86d4:	8a 18                	mov    (%eax),%bl
5d86d6:	8a 01                	mov    (%ecx),%al
5d86d8:	84 c0                	test   %al,%al
5d86da:	74 11                	je     0x5d86ed
5d86dc:	8a d0                	mov    %al,%dl
5d86de:	8a c2                	mov    %dl,%al
5d86e0:	3a d3                	cmp    %bl,%dl
5d86e2:	74 09                	je     0x5d86ed
5d86e4:	41                   	inc    %ecx
5d86e5:	8a 01                	mov    (%ecx),%al
5d86e7:	8a d0                	mov    %al,%dl
5d86e9:	84 c0                	test   %al,%al
5d86eb:	75 f1                	jne    0x5d86de
5d86ed:	41                   	inc    %ecx
5d86ee:	84 c0                	test   %al,%al
5d86f0:	74 29                	je     0x5d871b
5d86f2:	eb 09                	jmp    0x5d86fd
5d86f4:	3c 65                	cmp    $0x65,%al
5d86f6:	74 0b                	je     0x5d8703
5d86f8:	3c 45                	cmp    $0x45,%al
5d86fa:	74 07                	je     0x5d8703
5d86fc:	41                   	inc    %ecx
5d86fd:	8a 01                	mov    (%ecx),%al
5d86ff:	84 c0                	test   %al,%al
5d8701:	75 f1                	jne    0x5d86f4
5d8703:	8b d1                	mov    %ecx,%edx
5d8705:	49                   	dec    %ecx
5d8706:	8a 01                	mov    (%ecx),%al
5d8708:	3c 30                	cmp    $0x30,%al
5d870a:	74 f9                	je     0x5d8705
5d870c:	3a c3                	cmp    %bl,%al
5d870e:	75 01                	jne    0x5d8711
5d8710:	49                   	dec    %ecx
5d8711:	8a 02                	mov    (%edx),%al
5d8713:	42                   	inc    %edx
5d8714:	41                   	inc    %ecx
5d8715:	88 01                	mov    %al,(%ecx)
5d8717:	84 c0                	test   %al,%al
5d8719:	75 f6                	jne    0x5d8711
5d871b:	5b                   	pop    %ebx
5d871c:	5d                   	pop    %ebp
5d871d:	c3                   	ret
5d871e:	8b ff                	mov    %edi,%edi
5d8720:	55                   	push   %ebp
5d8721:	8b ec                	mov    %esp,%ebp
5d8723:	8a 4d 08             	mov    0x8(%ebp),%cl
5d8726:	8d 41 e0             	lea    -0x20(%ecx),%eax
5d8729:	3c 5a                	cmp    $0x5a,%al
5d872b:	77 12                	ja     0x5d873f
5d872d:	0f be c1             	movsbl %cl,%eax
5d8730:	83 e8 20             	sub    $0x20,%eax
5d8733:	83 e0 7f             	and    $0x7f,%eax
5d8736:	8a 04 45 71 27 67 00 	mov    0x672771(,%eax,2),%al
5d873d:	eb 02                	jmp    0x5d8741
5d873f:	32 c0                	xor    %al,%al
5d8741:	0f b6 c8             	movzbl %al,%ecx
5d8744:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
5d8748:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
5d874b:	83 e0 7f             	and    $0x7f,%eax
5d874e:	8a 04 45 70 27 67 00 	mov    0x672770(,%eax,2),%al
5d8755:	5d                   	pop    %ebp
5d8756:	c2 08 00             	ret    $0x8
5d8759:	8b ff                	mov    %edi,%edi
5d875b:	55                   	push   %ebp
5d875c:	8b ec                	mov    %esp,%ebp
5d875e:	8b 4d 08             	mov    0x8(%ebp),%ecx
5d8761:	8d 41 e0             	lea    -0x20(%ecx),%eax
5d8764:	66 83 f8 5a          	cmp    $0x5a,%ax
5d8768:	77 0f                	ja     0x5d8779
5d876a:	8d 41 e0             	lea    -0x20(%ecx),%eax