5d03f4:	ff 75 0c             	push   0xc(%ebp)
5d03f7:	ff 75 08             	push   0x8(%ebp)
5d03fa:	e8 b6 04 01 00       	call   0x5e08b5
5d03ff:	83 c4 18             	add    $0x18,%esp
5d0402:	5e                   	pop    %esi
5d0403:	5d                   	pop    %ebp
5d0404:	c3                   	ret
5d0405:	55                   	push   %ebp
5d0406:	8b ec                	mov    %esp,%ebp
5d0408:	ff 75 0c             	push   0xc(%ebp)
5d040b:	8b 4d 08             	mov    0x8(%ebp),%ecx
5d040e:	e8 b0 cc 00 00       	call   0x5dd0c3
5d0413:	f6 d8                	neg    %al
5d0415:	1a c0                	sbb    %al,%al
5d0417:	fe c0                	inc    %al
5d0419:	5d                   	pop    %ebp
5d041a:	c3                   	ret
5d041b:	55                   	push   %ebp
5d041c:	8b ec                	mov    %esp,%ebp
5d041e:	56                   	push   %esi
5d041f:	8b 75 0c             	mov    0xc(%ebp),%esi
5d0422:	eb 0f                	jmp    0x5d0433
5d0424:	0f b7 06             	movzwl (%esi),%eax
5d0427:	8d 4d 14             	lea    0x14(%ebp),%ecx
5d042a:	50                   	push   %eax
5d042b:	e8 72 1b 00 00       	call   0x5d1fa2
5d0430:	83 c6 02             	add    $0x2,%esi
5d0433:	3b 75 10             	cmp    0x10(%ebp),%esi
5d0436:	75 ec                	jne    0x5d0424
5d0438:	8b 45 08             	mov    0x8(%ebp),%eax
5d043b:	8b 4d 14             	mov    0x14(%ebp),%ecx
5d043e:	5e                   	pop    %esi
5d043f:	89 08                	mov    %ecx,(%eax)
5d0441:	8b 4d 18             	mov    0x18(%ebp),%ecx
5d0444:	89 48 04             	mov    %ecx,0x4(%eax)
5d0447:	5d                   	pop    %ebp
5d0448:	c3                   	ret
5d0449:	55                   	push   %ebp
5d044a:	8b ec                	mov    %esp,%ebp
5d044c:	56                   	push   %esi
5d044d:	8b 75 0c             	mov    0xc(%ebp),%esi
5d0450:	eb 0f                	jmp    0x5d0461
5d0452:	0f b7 06             	movzwl (%esi),%eax
5d0455:	8d 4d 14             	lea    0x14(%ebp),%ecx
5d0458:	50                   	push   %eax
5d0459:	e8 52 05 e7 ff       	call   0x4409b0
5d045e:	83 c6 02             	add    $0x2,%esi
5d0461:	3b 75 10             	cmp    0x10(%ebp),%esi
5d0464:	75 ec                	jne    0x5d0452
5d0466:	8b 45 08             	mov    0x8(%ebp),%eax
5d0469:	8b 4d 14             	mov    0x14(%ebp),%ecx
5d046c:	5e                   	pop    %esi
5d046d:	89 08                	mov    %ecx,(%eax)
5d046f:	8b 4d 18             	mov    0x18(%ebp),%ecx
5d0472:	89 48 04             	mov    %ecx,0x4(%eax)
5d0475:	5d                   	pop    %ebp
5d0476:	c3                   	ret
5d0477:	55                   	push   %ebp
5d0478:	8b ec                	mov    %esp,%ebp
5d047a:	51                   	push   %ecx
5d047b:	56                   	push   %esi
5d047c:	8b 75 08             	mov    0x8(%ebp),%esi
5d047f:	8d 45 0c             	lea    0xc(%ebp),%eax
5d0482:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5d0486:	ff 75 fc             	push   -0x4(%ebp)
5d0489:	50                   	push   %eax
5d048a:	8d 46 34             	lea    0x34(%esi),%eax
5d048d:	50                   	push   %eax
5d048e:	56                   	push   %esi
5d048f:	e8 7f 00 00 00       	call   0x5d0513
5d0494:	83 c4 10             	add    $0x10,%esp
5d0497:	2b c6                	sub    %esi,%eax
5d0499:	d1 f8                	sar    $1,%eax
5d049b:	5e                   	pop    %esi
5d049c:	c9                   	leave
5d049d:	c3                   	ret
5d049e:	55                   	push   %ebp
5d049f:	8b ec                	mov    %esp,%ebp
5d04a1:	51                   	push   %ecx
5d04a2:	56                   	push   %esi
5d04a3:	8b 75 08             	mov    0x8(%ebp),%esi
5d04a6:	8d 45 0c             	lea    0xc(%ebp),%eax
5d04a9:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5d04ad:	ff 75 fc             	push   -0x4(%ebp)
5d04b0:	50                   	push   %eax
5d04b1:	8d 46 38             	lea    0x38(%esi),%eax
5d04b4:	50                   	push   %eax
5d04b5:	56                   	push   %esi
5d04b6:	e8 58 00 00 00       	call   0x5d0513
5d04bb:	83 c4 10             	add    $0x10,%esp
5d04be:	2b c6                	sub    %esi,%eax
5d04c0:	d1 f8                	sar    $1,%eax
5d04c2:	5e                   	pop    %esi
5d04c3:	c9                   	leave
5d04c4:	c3                   	ret
5d04c5:	55                   	push   %ebp
5d04c6:	8b ec                	mov    %esp,%ebp
5d04c8:	51                   	push   %ecx
5d04c9:	56                   	push   %esi
5d04ca:	8b 75 08             	mov    0x8(%ebp),%esi
5d04cd:	8d 45 0c             	lea    0xc(%ebp),%eax
5d04d0:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5d04d4:	ff 75 fc             	push   -0x4(%ebp)
5d04d7:	50                   	push   %eax
5d04d8:	8d 46 16             	lea    0x16(%esi),%eax
5d04db:	50                   	push   %eax
5d04dc:	56                   	push   %esi
5d04dd:	e8 31 00 00 00       	call   0x5d0513
5d04e2:	83 c4 10             	add    $0x10,%esp
5d04e5:	2b c6                	sub    %esi,%eax
5d04e7:	d1 f8                	sar    $1,%eax
5d04e9:	5e                   	pop    %esi
5d04ea:	c9                   	leave
5d04eb:	c3                   	ret
5d04ec:	55                   	push   %ebp
5d04ed:	8b ec                	mov    %esp,%ebp
5d04ef:	51                   	push   %ecx
5d04f0:	56                   	push   %esi
5d04f1:	8b 75 08             	mov    0x8(%ebp),%esi
5d04f4:	8d 45 0c             	lea    0xc(%ebp),%eax
5d04f7:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5d04fb:	ff 75 fc             	push   -0x4(%ebp)
5d04fe:	50                   	push   %eax
5d04ff:	8d 46 1c             	lea    0x1c(%esi),%eax
5d0502:	50                   	push   %eax
5d0503:	56                   	push   %esi
5d0504:	e8 0a 00 00 00       	call   0x5d0513
5d0509:	83 c4 10             	add    $0x10,%esp
5d050c:	2b c6                	sub    %esi,%eax
5d050e:	d1 f8                	sar    $1,%eax
5d0510:	5e                   	pop    %esi
5d0511:	c9                   	leave
5d0512:	c3                   	ret
5d0513:	55                   	push   %ebp
5d0514:	8b ec                	mov    %esp,%ebp
5d0516:	8b 4d 08             	mov    0x8(%ebp),%ecx
5d0519:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
5d051c:	74 13                	je     0x5d0531
5d051e:	8b 45 10             	mov    0x10(%ebp),%eax
5d0521:	0f b7 00             	movzwl (%eax),%eax
5d0524:	66 39 01             	cmp    %ax,(%ecx)
5d0527:	74 08                	je     0x5d0531
5d0529:	83 c1 02             	add    $0x2,%ecx
5d052c:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
5d052f:	75 f3                	jne    0x5d0524
5d0531:	8b c1                	mov    %ecx,%eax
5d0533:	5d                   	pop    %ebp
5d0534:	c3                   	ret
5d0535:	6a 34                	push   $0x34
5d0537:	b8 b8 91 65 00       	mov    $0x6591b8,%eax
5d053c:	e8 ae 1a 01 00       	call   0x5e1fef
5d0541:	8b 45 08             	mov    0x8(%ebp),%eax
5d0544:	8b 75 14             	mov    0x14(%ebp),%esi
5d0547:	8b 5d 10             	mov    0x10(%ebp),%ebx
5d054a:	89 45 cc             	mov    %eax,-0x34(%ebp)
5d054d:	8b 45 0c             	mov    0xc(%ebp),%eax
5d0550:	89 45 c0             	mov    %eax,-0x40(%ebp)
5d0553:	8a 06                	mov    (%esi),%al
5d0555:	89 5d c8             	mov    %ebx,-0x38(%ebp)
5d0558:	84 c0                	test   %al,%al
5d055a:	74 13                	je     0x5d056f
5d055c:	8a c8                	mov    %al,%cl
5d055e:	8b d6                	mov    %esi,%edx
5d0560:	3a c8                	cmp    %al,%cl
5d0562:	75 01                	jne    0x5d0565
5d0564:	43                   	inc    %ebx
5d0565:	42                   	inc    %edx
5d0566:	8a 0a                	mov    (%edx),%cl
5d0568:	84 c9                	test   %cl,%cl
5d056a:	75 f4                	jne    0x5d0560
5d056c:	89 5d c8             	mov    %ebx,-0x38(%ebp)
5d056f:	33 c0                	xor    %eax,%eax
5d0571:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
5d0578:	50                   	push   %eax
5d0579:	53                   	push   %ebx
5d057a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5d057d:	89 45 e8             	mov    %eax,-0x18(%ebp)
5d0580:	88 45 d8             	mov    %al,-0x28(%ebp)
5d0583:	e8 f5 df ff ff       	call   0x5ce57d
5d0588:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5d058c:	33 d2                	xor    %edx,%edx
5d058e:	42                   	inc    %edx
5d058f:	c7 45 c4 fe ff ff ff 	movl   $0xfffffffe,-0x3c(%ebp)
5d0596:	89 55 d0             	mov    %edx,-0x30(%ebp)
5d0599:	32 c9                	xor    %cl,%cl
5d059b:	33 db                	xor    %ebx,%ebx
5d059d:	33 ff                	xor    %edi,%edi
5d059f:	88 4d d7             	mov    %cl,-0x29(%ebp)
5d05a2:	39 5d c8             	cmp    %ebx,-0x38(%ebp)
5d05a5:	0f 86 f6 00 00 00    	jbe    0x5d06a1
5d05ab:	8a 04 37             	mov    (%edi,%esi,1),%al
5d05ae:	84 c0                	test   %al,%al
5d05b0:	74 0e                	je     0x5d05c0
5d05b2:	8a 0e                	mov    (%esi),%cl
5d05b4:	3a c1                	cmp    %cl,%al
5d05b6:	74 08                	je     0x5d05c0
5d05b8:	47                   	inc    %edi
5d05b9:	8a 04 37             	mov    (%edi,%esi,1),%al
5d05bc:	84 c0                	test   %al,%al
5d05be:	75 f4                	jne    0x5d05b4
5d05c0:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
5d05c4:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d05c7:	72 03                	jb     0x5d05cc
5d05c9:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d05cc:	80 3c 18 00          	cmpb   $0x0,(%eax,%ebx,1)
5d05d0:	74 17                	je     0x5d05e9
5d05d2:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
5d05d6:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d05d9:	72 03                	jb     0x5d05de
5d05db:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d05de:	0f be 04 18          	movsbl (%eax,%ebx,1),%eax
5d05e2:	03 f8                	add    %eax,%edi
5d05e4:	e9 80 00 00 00       	jmp    0x5d0669
5d05e9:	03 fa                	add    %edx,%edi
5d05eb:	8a 04 37             	mov    (%edi,%esi,1),%al
5d05ee:	3a 06                	cmp    (%esi),%al
5d05f0:	74 59                	je     0x5d064b
5d05f2:	84 c0                	test   %al,%al
5d05f4:	74 55                	je     0x5d064b
5d05f6:	ff 75 c0             	push   -0x40(%ebp)
5d05f9:	8b 4d cc             	mov    -0x34(%ebp),%ecx
5d05fc:	e8 c2 ca 00 00       	call   0x5dd0c3
5d0601:	84 c0                	test   %al,%al
5d0603:	75 29                	jne    0x5d062e
5d0605:	8b 45 cc             	mov    -0x34(%ebp),%eax
5d0608:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
5d060c:	75 0a                	jne    0x5d0618
5d060e:	8b c8                	mov    %eax,%ecx
5d0610:	e8 15 7c 00 00       	call   0x5d822a
5d0615:	8b 45 cc             	mov    -0x34(%ebp),%eax
5d0618:	0f b7 48 06          	movzwl 0x6(%eax),%ecx
5d061c:	0f be 04 37          	movsbl (%edi,%esi,1),%eax
5d0620:	3b c1                	cmp    %ecx,%eax
5d0622:	75 0a                	jne    0x5d062e
5d0624:	8b 55 d0             	mov    -0x30(%ebp),%edx
5d0627:	b1 01                	mov    $0x1,%cl
5d0629:	88 4d d7             	mov    %cl,-0x29(%ebp)
5d062c:	eb 3e                	jmp    0x5d066c
5d062e:	8b 55 d0             	mov    -0x30(%ebp),%edx
5d0631:	83 fa 7f             	cmp    $0x7f,%edx
5d0634:	73 04                	jae    0x5d063a
5d0636:	8b ca                	mov    %edx,%ecx
5d0638:	eb 03                	jmp    0x5d063d
5d063a:	6a 7f                	push   $0x7f
5d063c:	59                   	pop    %ecx
5d063d:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
5d0641:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d0644:	72 20                	jb     0x5d0666
5d0646:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d0649:	eb 1b                	jmp    0x5d0666
5d064b:	83 fa 7f             	cmp    $0x7f,%edx
5d064e:	73 04                	jae    0x5d0654
5d0650:	8b ca                	mov    %edx,%ecx
5d0652:	eb 03                	jmp    0x5d0657
5d0654:	6a 7f                	push   $0x7f
5d0656:	59                   	pop    %ecx
5d0657:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
5d065b:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d065e:	72 03                	jb     0x5d0663
5d0660:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d0663:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
5d0666:	88 0c 18             	mov    %cl,(%eax,%ebx,1)
5d0669:	8a 4d d7             	mov    -0x29(%ebp),%cl
5d066c:	43                   	inc    %ebx
5d066d:	3b 5d c8             	cmp    -0x38(%ebp),%ebx
5d0670:	0f 82 35 ff ff ff    	jb     0x5d05ab
5d0676:	84 c9                	test   %cl,%cl
5d0678:	74 27                	je     0x5d06a1
5d067a:	ff 75 c0             	push   -0x40(%ebp)
5d067d:	8b 5d cc             	mov    -0x34(%ebp),%ebx
5d0680:	8b cb                	mov    %ebx,%ecx
5d0682:	e8 3c ca 00 00       	call   0x5dd0c3
5d0687:	84 c0                	test   %al,%al
5d0689:	75 16                	jne    0x5d06a1
5d068b:	ff 45 d0             	incl   -0x30(%ebp)
5d068e:	8b cb                	mov    %ebx,%ecx
5d0690:	e8 38 6a 00 00       	call   0x5d70cd
5d0695:	83 4d c4 ff          	orl    $0xffffffff,-0x3c(%ebp)
5d0699:	8b 55 d0             	mov    -0x30(%ebp),%edx
5d069c:	e9 f8 fe ff ff       	jmp    0x5d0599
5d06a1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5d06a4:	e8 d7 48 e7 ff       	call   0x444f80
5d06a9:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5d06ac:	e8 f9 18 01 00       	call   0x5e1faa
5d06b1:	c3                   	ret
5d06b2:	6a 34                	push   $0x34
5d06b4:	b8 b8 91 65 00       	mov    $0x6591b8,%eax
5d06b9:	e8 31 19 01 00       	call   0x5e1fef
5d06be:	8b 45 08             	mov    0x8(%ebp),%eax
5d06c1:	33 d2                	xor    %edx,%edx
5d06c3:	8b 7d 14             	mov    0x14(%ebp),%edi
5d06c6:	8b 5d 10             	mov    0x10(%ebp),%ebx
5d06c9:	89 45 d0             	mov    %eax,-0x30(%ebp)
5d06cc:	8b 45 0c             	mov    0xc(%ebp),%eax
5d06cf:	89 45 c0             	mov    %eax,-0x40(%ebp)
5d06d2:	0f b7 07             	movzwl (%edi),%eax
5d06d5:	89 5d c8             	mov    %ebx,-0x38(%ebp)
5d06d8:	66 85 c0             	test   %ax,%ax
5d06db:	74 15                	je     0x5d06f2
5d06dd:	8b c8                	mov    %eax,%ecx
5d06df:	66 3b c8             	cmp    %ax,%cx
5d06e2:	75 01                	jne    0x5d06e5
5d06e4:	43                   	inc    %ebx
5d06e5:	42                   	inc    %edx
5d06e6:	0f b7 0c 57          	movzwl (%edi,%edx,2),%ecx
5d06ea:	66 85 c9             	test   %cx,%cx
5d06ed:	75 f0                	jne    0x5d06df
5d06ef:	89 5d c8             	mov    %ebx,-0x38(%ebp)
5d06f2:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
5d06f6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5d06f9:	6a 00                	push   $0x0
5d06fb:	53                   	push   %ebx
5d06fc:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
5d0703:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
5d0707:	e8 71 de ff ff       	call   0x5ce57d
5d070c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5d0710:	33 d2                	xor    %edx,%edx
5d0712:	42                   	inc    %edx
5d0713:	c7 45 c4 fe ff ff ff 	movl   $0xfffffffe,-0x3c(%ebp)
5d071a:	89 55 cc             	mov    %edx,-0x34(%ebp)
5d071d:	33 db                	xor    %ebx,%ebx
5d071f:	c6 45 d7 00          	movb   $0x0,-0x29(%ebp)
5d0723:	33 f6                	xor    %esi,%esi
5d0725:	39 5d c8             	cmp    %ebx,-0x38(%ebp)
5d0728:	0f 86 f6 00 00 00    	jbe    0x5d0824
5d072e:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
5d0732:	66 85 c0             	test   %ax,%ax
5d0735:	74 12                	je     0x5d0749
5d0737:	0f b7 0f             	movzwl (%edi),%ecx
5d073a:	66 3b c1             	cmp    %cx,%ax
5d073d:	74 0a                	je     0x5d0749
5d073f:	46                   	inc    %esi
5d0740:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
5d0744:	66 85 c0             	test   %ax,%ax
5d0747:	75 f1                	jne    0x5d073a
5d0749:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
5d074d:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d0750:	72 03                	jb     0x5d0755
5d0752:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d0755:	80 3c 18 00          	cmpb   $0x0,(%eax,%ebx,1)
5d0759:	74 14                	je     0x5d076f
5d075b:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
5d075f:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d0762:	72 03                	jb     0x5d0767
5d0764:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d0767:	0f be 04 18          	movsbl (%eax,%ebx,1),%eax
5d076b:	03 f0                	add    %eax,%esi
5d076d:	eb 7e                	jmp    0x5d07ed
5d076f:	03 f2                	add    %edx,%esi
5d0771:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax