5f7325:	0f b7 c0             	movzwl %ax,%eax
5f7328:	8d 4d f0             	lea    -0x10(%ebp),%ecx
5f732b:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f732e:	8d 7f 02             	lea    0x2(%edi),%edi
5f7331:	0f b7 03             	movzwl (%ebx),%eax
5f7334:	8d 5b 02             	lea    0x2(%ebx),%ebx
5f7337:	51                   	push   %ecx
5f7338:	50                   	push   %eax
5f7339:	e8 81 fd ff ff       	call   0x5f70bf
5f733e:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f7341:	83 c4 10             	add    $0x10,%esp
5f7344:	0f b7 c0             	movzwl %ax,%eax
5f7347:	8b ca                	mov    %edx,%ecx
5f7349:	2b c8                	sub    %eax,%ecx
5f734b:	75 09                	jne    0x5f7356
5f734d:	85 d2                	test   %edx,%edx
5f734f:	74 05                	je     0x5f7356
5f7351:	83 ee 01             	sub    $0x1,%esi
5f7354:	75 c2                	jne    0x5f7318
5f7356:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
5f735a:	74 0a                	je     0x5f7366
5f735c:	8b 45 ec             	mov    -0x14(%ebp),%eax
5f735f:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
5f7366:	8b c1                	mov    %ecx,%eax
5f7368:	5e                   	pop    %esi
5f7369:	5b                   	pop    %ebx
5f736a:	5f                   	pop    %edi
5f736b:	c9                   	leave
5f736c:	c3                   	ret
5f736d:	8b ff                	mov    %edi,%edi
5f736f:	55                   	push   %ebp
5f7370:	8b ec                	mov    %esp,%ebp
5f7372:	ff 75 0c             	push   0xc(%ebp)
5f7375:	ff 75 08             	push   0x8(%ebp)
5f7378:	e8 08 00 00 00       	call   0x5f7385
5f737d:	f7 d8                	neg    %eax
5f737f:	59                   	pop    %ecx
5f7380:	59                   	pop    %ecx
5f7381:	1b c0                	sbb    %eax,%eax
5f7383:	5d                   	pop    %ebp
5f7384:	c3                   	ret
5f7385:	8b ff                	mov    %edi,%edi
5f7387:	55                   	push   %ebp
5f7388:	8b ec                	mov    %esp,%ebp
5f738a:	83 ec 28             	sub    $0x28,%esp
5f738d:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5f7392:	33 c5                	xor    %ebp,%eax
5f7394:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f7397:	8b 45 08             	mov    0x8(%ebp),%eax
5f739a:	56                   	push   %esi
5f739b:	85 c0                	test   %eax,%eax
5f739d:	75 1b                	jne    0x5f73ba
5f739f:	e8 42 5c ff ff       	call   0x5ecfe6
5f73a4:	83 20 00             	andl   $0x0,(%eax)
5f73a7:	e8 4d 5c ff ff       	call   0x5ecff9
5f73ac:	6a 16                	push   $0x16
5f73ae:	5e                   	pop    %esi
5f73af:	89 30                	mov    %esi,(%eax)
5f73b1:	e8 69 5b ff ff       	call   0x5ecf1f
5f73b6:	8b c6                	mov    %esi,%eax
5f73b8:	eb 7c                	jmp    0x5f7436
5f73ba:	53                   	push   %ebx
5f73bb:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5f73be:	f7 c3 f9 ff ff ff    	test   $0xfffffff9,%ebx
5f73c4:	74 1b                	je     0x5f73e1
5f73c6:	e8 1b 5c ff ff       	call   0x5ecfe6
5f73cb:	83 20 00             	andl   $0x0,(%eax)
5f73ce:	e8 26 5c ff ff       	call   0x5ecff9
5f73d3:	6a 16                	push   $0x16
5f73d5:	5e                   	pop    %esi
5f73d6:	89 30                	mov    %esi,(%eax)
5f73d8:	e8 42 5b ff ff       	call   0x5ecf1f
5f73dd:	8b c6                	mov    %esi,%eax
5f73df:	eb 54                	jmp    0x5f7435
5f73e1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5f73e4:	51                   	push   %ecx
5f73e5:	6a 00                	push   $0x0
5f73e7:	50                   	push   %eax
5f73e8:	ff 15 38 23 68 00    	call   *0x682338
5f73ee:	85 c0                	test   %eax,%eax
5f73f0:	75 0f                	jne    0x5f7401
5f73f2:	ff 15 e0 21 68 00    	call   *0x6821e0
5f73f8:	50                   	push   %eax
5f73f9:	e8 c5 5b ff ff       	call   0x5ecfc3
5f73fe:	59                   	pop    %ecx
5f73ff:	eb 29                	jmp    0x5f742a
5f7401:	f6 45 d8 10          	testb  $0x10,-0x28(%ebp)
5f7405:	75 2c                	jne    0x5f7433
5f7407:	f6 45 d8 01          	testb  $0x1,-0x28(%ebp)
5f740b:	74 26                	je     0x5f7433
5f740d:	d1 eb                	shr    $1,%ebx
5f740f:	f6 c3 01             	test   $0x1,%bl
5f7412:	74 1f                	je     0x5f7433
5f7414:	e8 cd 5b ff ff       	call   0x5ecfe6
5f7419:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
5f741f:	e8 d5 5b ff ff       	call   0x5ecff9
5f7424:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
5f742a:	e8 ca 5b ff ff       	call   0x5ecff9
5f742f:	8b 00                	mov    (%eax),%eax
5f7431:	eb 02                	jmp    0x5f7435
5f7433:	33 c0                	xor    %eax,%eax
5f7435:	5b                   	pop    %ebx
5f7436:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f7439:	33 cd                	xor    %ebp,%ecx
5f743b:	5e                   	pop    %esi
5f743c:	e8 99 a0 fe ff       	call   0x5e14da
5f7441:	c9                   	leave
5f7442:	c3                   	ret
5f7443:	e8 f1 cf 00 00       	call   0x604439
5f7448:	69 48 18 fd 43 03 00 	imul   $0x343fd,0x18(%eax),%ecx
5f744f:	81 c1 c3 9e 26 00    	add    $0x269ec3,%ecx
5f7455:	89 48 18             	mov    %ecx,0x18(%eax)
5f7458:	c1 e9 10             	shr    $0x10,%ecx
5f745b:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
5f7461:	8b c1                	mov    %ecx,%eax
5f7463:	c3                   	ret
5f7464:	8b ff                	mov    %edi,%edi
5f7466:	55                   	push   %ebp
5f7467:	8b ec                	mov    %esp,%ebp
5f7469:	e8 cb cf 00 00       	call   0x604439
5f746e:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f7471:	89 48 18             	mov    %ecx,0x18(%eax)
5f7474:	5d                   	pop    %ebp
5f7475:	c3                   	ret
5f7476:	6a 30                	push   $0x30
5f7478:	b8 35 1c 66 00       	mov    $0x661c35,%eax
5f747d:	e8 6d ab fe ff       	call   0x5e1fef
5f7482:	8b 7d 08             	mov    0x8(%ebp),%edi
5f7485:	33 f6                	xor    %esi,%esi
5f7487:	8b 45 0c             	mov    0xc(%ebp),%eax
5f748a:	8b 5d 10             	mov    0x10(%ebp),%ebx
5f748d:	89 7d d8             	mov    %edi,-0x28(%ebp)
5f7490:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f7493:	89 75 e0             	mov    %esi,-0x20(%ebp)
5f7496:	85 ff                	test   %edi,%edi
5f7498:	74 0b                	je     0x5f74a5
5f749a:	85 db                	test   %ebx,%ebx
5f749c:	75 07                	jne    0x5f74a5
5f749e:	33 c0                	xor    %eax,%eax
5f74a0:	e9 74 02 00 00       	jmp    0x5f7719
5f74a5:	85 c0                	test   %eax,%eax
5f74a7:	75 18                	jne    0x5f74c1
5f74a9:	e8 4b 5b ff ff       	call   0x5ecff9
5f74ae:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f74b4:	e8 66 5a ff ff       	call   0x5ecf1f
5f74b9:	83 c8 ff             	or     $0xffffffff,%eax
5f74bc:	e9 58 02 00 00       	jmp    0x5f7719
5f74c1:	ff 75 14             	push   0x14(%ebp)
5f74c4:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
5f74c7:	e8 c1 66 ff ff       	call   0x5edb8d
5f74cc:	8b 45 c8             	mov    -0x38(%ebp),%eax
5f74cf:	89 75 fc             	mov    %esi,-0x4(%ebp)
5f74d2:	8b 48 08             	mov    0x8(%eax),%ecx
5f74d5:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
5f74db:	75 1f                	jne    0x5f74fc
5f74dd:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5f74e0:	89 75 d4             	mov    %esi,-0x2c(%ebp)
5f74e3:	50                   	push   %eax
5f74e4:	53                   	push   %ebx
5f74e5:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5f74e8:	89 75 d8             	mov    %esi,-0x28(%ebp)
5f74eb:	50                   	push   %eax
5f74ec:	57                   	push   %edi
5f74ed:	e8 03 06 01 00       	call   0x607af5
5f74f2:	83 c4 10             	add    $0x10,%esp
5f74f5:	8b f0                	mov    %eax,%esi
5f74f7:	e9 d4 01 00 00       	jmp    0x5f76d0
5f74fc:	85 ff                	test   %edi,%edi
5f74fe:	0f 84 9f 01 00 00    	je     0x5f76a3
5f7504:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
5f750a:	75 3a                	jne    0x5f7546
5f750c:	85 db                	test   %ebx,%ebx
5f750e:	0f 84 bc 01 00 00    	je     0x5f76d0
5f7514:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5f7517:	ba ff 00 00 00       	mov    $0xff,%edx
5f751c:	66 39 11             	cmp    %dx,(%ecx)
5f751f:	0f 87 6e 01 00 00    	ja     0x5f7693
5f7525:	8a 01                	mov    (%ecx),%al
5f7527:	88 04 37             	mov    %al,(%edi,%esi,1)
5f752a:	0f b7 01             	movzwl (%ecx),%eax
5f752d:	83 c1 02             	add    $0x2,%ecx
5f7530:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f7533:	66 85 c0             	test   %ax,%ax
5f7536:	0f 84 94 01 00 00    	je     0x5f76d0
5f753c:	46                   	inc    %esi
5f753d:	3b f3                	cmp    %ebx,%esi
5f753f:	72 db                	jb     0x5f751c
5f7541:	e9 8a 01 00 00       	jmp    0x5f76d0
5f7546:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
5f754a:	75 61                	jne    0x5f75ad
5f754c:	85 db                	test   %ebx,%ebx
5f754e:	74 23                	je     0x5f7573
5f7550:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f7553:	8b d3                	mov    %ebx,%edx
5f7555:	66 39 30             	cmp    %si,(%eax)
5f7558:	74 08                	je     0x5f7562
5f755a:	83 c0 02             	add    $0x2,%eax
5f755d:	83 ea 01             	sub    $0x1,%edx
5f7560:	75 f3                	jne    0x5f7555
5f7562:	85 d2                	test   %edx,%edx
5f7564:	74 0d                	je     0x5f7573
5f7566:	66 39 30             	cmp    %si,(%eax)
5f7569:	75 08                	jne    0x5f7573
5f756b:	8b d8                	mov    %eax,%ebx
5f756d:	2b 5d e4             	sub    -0x1c(%ebp),%ebx
5f7570:	d1 fb                	sar    $1,%ebx
5f7572:	43                   	inc    %ebx
5f7573:	8d 45 e0             	lea    -0x20(%ebp),%eax
5f7576:	50                   	push   %eax
5f7577:	56                   	push   %esi
5f7578:	53                   	push   %ebx
5f7579:	57                   	push   %edi
5f757a:	53                   	push   %ebx
5f757b:	ff 75 e4             	push   -0x1c(%ebp)
5f757e:	56                   	push   %esi
5f757f:	51                   	push   %ecx
5f7580:	e8 c3 04 01 00       	call   0x607a48
5f7585:	8b f0                	mov    %eax,%esi
5f7587:	83 c4 20             	add    $0x20,%esp
5f758a:	85 f6                	test   %esi,%esi
5f758c:	0f 84 01 01 00 00    	je     0x5f7693
5f7592:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5f7596:	0f 85 f7 00 00 00    	jne    0x5f7693
5f759c:	80 7c 37 ff 00       	cmpb   $0x0,-0x1(%edi,%esi,1)
5f75a1:	0f 85 29 01 00 00    	jne    0x5f76d0
5f75a7:	4e                   	dec    %esi
5f75a8:	e9 23 01 00 00       	jmp    0x5f76d0
5f75ad:	8d 45 e0             	lea    -0x20(%ebp),%eax
5f75b0:	50                   	push   %eax
5f75b1:	56                   	push   %esi
5f75b2:	53                   	push   %ebx
5f75b3:	57                   	push   %edi
5f75b4:	6a ff                	push   $0xffffffff
5f75b6:	ff 75 e4             	push   -0x1c(%ebp)
5f75b9:	56                   	push   %esi
5f75ba:	51                   	push   %ecx
5f75bb:	e8 88 04 01 00       	call   0x607a48
5f75c0:	8b f8                	mov    %eax,%edi
5f75c2:	83 c4 20             	add    $0x20,%esp
5f75c5:	85 ff                	test   %edi,%edi
5f75c7:	74 12                	je     0x5f75db
5f75c9:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5f75cd:	0f 85 c0 00 00 00    	jne    0x5f7693
5f75d3:	8d 77 ff             	lea    -0x1(%edi),%esi
5f75d6:	e9 f5 00 00 00       	jmp    0x5f76d0
5f75db:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5f75df:	0f 85 ae 00 00 00    	jne    0x5f7693
5f75e5:	ff 15 e0 21 68 00    	call   *0x6821e0
5f75eb:	83 f8 7a             	cmp    $0x7a,%eax
5f75ee:	0f 85 9f 00 00 00    	jne    0x5f7693
5f75f4:	85 db                	test   %ebx,%ebx
5f75f6:	0f 84 0b 01 00 00    	je     0x5f7707
5f75fc:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f75ff:	8b 55 c8             	mov    -0x38(%ebp),%edx
5f7602:	8b 4a 04             	mov    0x4(%edx),%ecx
5f7605:	83 f9 05             	cmp    $0x5,%ecx
5f7608:	7e 03                	jle    0x5f760d
5f760a:	6a 05                	push   $0x5
5f760c:	59                   	pop    %ecx
5f760d:	8d 5d e0             	lea    -0x20(%ebp),%ebx
5f7610:	53                   	push   %ebx
5f7611:	56                   	push   %esi
5f7612:	51                   	push   %ecx
5f7613:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5f7616:	51                   	push   %ecx
5f7617:	6a 01                	push   $0x1
5f7619:	50                   	push   %eax
5f761a:	56                   	push   %esi
5f761b:	ff 72 08             	push   0x8(%edx)
5f761e:	e8 25 04 01 00       	call   0x607a48
5f7623:	8b 5d 10             	mov    0x10(%ebp),%ebx
5f7626:	8b d0                	mov    %eax,%edx
5f7628:	83 c4 20             	add    $0x20,%esp
5f762b:	85 d2                	test   %edx,%edx
5f762d:	0f 84 c6 00 00 00    	je     0x5f76f9
5f7633:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5f7637:	0f 85 bc 00 00 00    	jne    0x5f76f9
5f763d:	85 d2                	test   %edx,%edx
5f763f:	0f 88 b4 00 00 00    	js     0x5f76f9
5f7645:	83 fa 05             	cmp    $0x5,%edx
5f7648:	0f 87 ab 00 00 00    	ja     0x5f76f9
5f764e:	8d 04 3a             	lea    (%edx,%edi,1),%eax
5f7651:	3b c3                	cmp    %ebx,%eax
5f7653:	0f 87 ae 00 00 00    	ja     0x5f7707
5f7659:	8b c6                	mov    %esi,%eax
5f765b:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f765e:	85 d2                	test   %edx,%edx
5f7660:	7e 1e                	jle    0x5f7680
5f7662:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5f7665:	8a 44 05 e8          	mov    -0x18(%ebp,%eax,1),%al
5f7669:	88 04 39             	mov    %al,(%ecx,%edi,1)
5f766c:	84 c0                	test   %al,%al
5f766e:	0f 84 93 00 00 00    	je     0x5f7707
5f7674:	8b 45 dc             	mov    -0x24(%ebp),%eax
5f7677:	40                   	inc    %eax
5f7678:	47                   	inc    %edi
5f7679:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f767c:	3b c2                	cmp    %edx,%eax
5f767e:	7c e5                	jl     0x5f7665
5f7680:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f7683:	83 c0 02             	add    $0x2,%eax
5f7686:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f7689:	3b fb                	cmp    %ebx,%edi
5f768b:	0f 82 6e ff ff ff    	jb     0x5f75ff
5f7691:	eb 74                	jmp    0x5f7707
5f7693:	e8 61 59 ff ff       	call   0x5ecff9
5f7698:	83 ce ff             	or     $0xffffffff,%esi
5f769b:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
5f76a1:	eb 2d                	jmp    0x5f76d0
5f76a3:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
5f76a9:	75 29                	jne    0x5f76d4
5f76ab:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5f76ae:	0f b7 01             	movzwl (%ecx),%eax
5f76b1:	66 85 c0             	test   %ax,%ax
5f76b4:	74 1a                	je     0x5f76d0
5f76b6:	8b f8                	mov    %eax,%edi
5f76b8:	ba ff 00 00 00       	mov    $0xff,%edx
5f76bd:	66 3b fa             	cmp    %dx,%di
5f76c0:	77 37                	ja     0x5f76f9
5f76c2:	83 c1 02             	add    $0x2,%ecx
5f76c5:	46                   	inc    %esi
5f76c6:	0f b7 01             	movzwl (%ecx),%eax
5f76c9:	8b f8                	mov    %eax,%edi
5f76cb:	66 85 c0             	test   %ax,%ax
5f76ce:	75 ed                	jne    0x5f76bd
5f76d0:	8b fe                	mov    %esi,%edi
5f76d2:	eb 33                	jmp    0x5f7707
5f76d4:	8d 45 e0             	lea    -0x20(%ebp),%eax
5f76d7:	50                   	push   %eax
5f76d8:	56                   	push   %esi
5f76d9:	56                   	push   %esi
5f76da:	56                   	push   %esi
5f76db:	6a ff                	push   $0xffffffff
5f76dd:	ff 75 e4             	push   -0x1c(%ebp)
5f76e0:	56                   	push   %esi
5f76e1:	51                   	push   %ecx
5f76e2:	e8 61 03 01 00       	call   0x607a48
5f76e7:	83 c4 20             	add    $0x20,%esp
5f76ea:	85 c0                	test   %eax,%eax
5f76ec:	74 0b                	je     0x5f76f9
5f76ee:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5f76f2:	75 05                	jne    0x5f76f9
5f76f4:	8d 78 ff             	lea    -0x1(%eax),%edi
5f76f7:	eb 0e                	jmp    0x5f7707
5f76f9:	e8 fb 58 ff ff       	call   0x5ecff9
5f76fe:	83 cf ff             	or     $0xffffffff,%edi
5f7701:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
5f7707:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
5f770b:	74 0a                	je     0x5f7717
5f770d:	8b 4d c4             	mov    -0x3c(%ebp),%ecx