45333c:	52                   	push   %edx
45333d:	6a 02                	push   $0x2
45333f:	5e                   	pop    %esi
453340:	66 89 03             	mov    %ax,(%ebx)
453343:	8b d6                	mov    %esi,%edx
453345:	8b 4d bc             	mov    -0x44(%ebp),%ecx
453348:	e8 54 53 fc ff       	call   0x4186a1
45334d:	83 c4 0c             	add    $0xc,%esp
453350:	8d 04 3f             	lea    (%edi,%edi,1),%eax
453353:	50                   	push   %eax
453354:	8b 45 bc             	mov    -0x44(%ebp),%eax
453357:	50                   	push   %eax
453358:	83 c0 04             	add    $0x4,%eax
45335b:	50                   	push   %eax
45335c:	e8 bf 4c fd ff       	call   0x428020
453361:	83 c4 0c             	add    $0xc,%esp
453364:	8d 4e 7f             	lea    0x7f(%esi),%ecx
453367:	03 fe                	add    %esi,%edi
453369:	6a 04                	push   $0x4
45336b:	58                   	pop    %eax
45336c:	03 d8                	add    %eax,%ebx
45336e:	8b 45 bc             	mov    -0x44(%ebp),%eax
453371:	6a 78                	push   $0x78
453373:	66 89 08             	mov    %cx,(%eax)
453376:	58                   	pop    %eax
453377:	66 89 03             	mov    %ax,(%ebx)
45337a:	03 de                	add    %esi,%ebx
45337c:	66 89 3b             	mov    %di,(%ebx)
45337f:	03 de                	add    %esi,%ebx
453381:	8b 45 bc             	mov    -0x44(%ebp),%eax
453384:	89 5d f8             	mov    %ebx,-0x8(%ebp)
453387:	66 89 78 02          	mov    %di,0x2(%eax)
45338b:	8b 75 fc             	mov    -0x4(%ebp),%esi
45338e:	e9 7f 48 fc ff       	jmp    0x417c12
453393:	33 c0                	xor    %eax,%eax
453395:	f6 45 cc 02          	testb  $0x2,-0x34(%ebp)
453399:	8b d8                	mov    %eax,%ebx
45339b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45339e:	74 12                	je     0x4533b2
4533a0:	83 7d d4 fe          	cmpl   $0xfffffffe,-0x2c(%ebp)
4533a4:	75 08                	jne    0x4533ae
4533a6:	83 4d d4 ff          	orl    $0xffffffff,-0x2c(%ebp)
4533aa:	83 4d 94 ff          	orl    $0xffffffff,-0x6c(%ebp)
4533ae:	6a 1c                	push   $0x1c
4533b0:	eb 02                	jmp    0x4533b4
4533b2:	6a 1b                	push   $0x1b
4533b4:	58                   	pop    %eax
4533b5:	e9 6a 4c fc ff       	jmp    0x418024
4533ba:	8b 45 28             	mov    0x28(%ebp),%eax
4533bd:	f7 40 60 00 00 00 02 	testl  $0x2000000,0x60(%eax)
4533c4:	0f 84 31 40 fc ff    	je     0x4173fb
4533ca:	8b 45 0c             	mov    0xc(%ebp),%eax
4533cd:	c7 00 40 00 00 00    	movl   $0x40,(%eax)
4533d3:	e9 da 12 00 00       	jmp    0x4546b2
4533d8:	83 c6 02             	add    $0x2,%esi
4533db:	6a 02                	push   $0x2
4533dd:	66 8b 06             	mov    (%esi),%ax
4533e0:	66 23 c1             	and    %cx,%ax
4533e3:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
4533e8:	66 3b c1             	cmp    %cx,%ax
4533eb:	0f 85 32 40 fc ff    	jne    0x417423
4533f1:	89 75 fc             	mov    %esi,-0x4(%ebp)
4533f4:	66 8b 06             	mov    (%esi),%ax
4533f7:	5e                   	pop    %esi
4533f8:	66 89 85 0a ff ff ff 	mov    %ax,-0xf6(%ebp)
4533ff:	8b de                	mov    %esi,%ebx
453401:	e9 1e 40 fc ff       	jmp    0x417424
453406:	39 5d c4             	cmp    %ebx,-0x3c(%ebp)
453409:	0f 84 c1 44 fc ff    	je     0x4178d0
45340f:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
453415:	eb 02                	jmp    0x453419
453417:	8b cb                	mov    %ebx,%ecx
453419:	8d 95 08 ff ff ff    	lea    -0xf8(%ebp),%edx
45341f:	e8 06 bb 03 00       	call   0x48ef2a
453424:	66 8b bd 08 ff ff ff 	mov    -0xf8(%ebp),%di
45342b:	8b d8                	mov    %eax,%ebx
45342d:	8b 55 f4             	mov    -0xc(%ebp),%edx
453430:	89 7d e8             	mov    %edi,-0x18(%ebp)
453433:	e9 e9 3f fc ff       	jmp    0x417421
453438:	8b 75 fc             	mov    -0x4(%ebp),%esi
45343b:	6a 5c                	push   $0x5c
45343d:	58                   	pop    %eax
45343e:	66 39 46 02          	cmp    %ax,0x2(%esi)
453442:	75 11                	jne    0x453455
453444:	6a 45                	push   $0x45
453446:	59                   	pop    %ecx
453447:	66 39 4e 04          	cmp    %cx,0x4(%esi)
45344b:	75 08                	jne    0x453455
45344d:	83 c6 04             	add    $0x4,%esi
453450:	e9 25 ea ff ff       	jmp    0x451e7a
453455:	8b 45 f4             	mov    -0xc(%ebp),%eax
453458:	89 45 d0             	mov    %eax,-0x30(%ebp)
45345b:	e9 1a ea ff ff       	jmp    0x451e7a
453460:	8b 46 20             	mov    0x20(%esi),%eax
453463:	33 db                	xor    %ebx,%ebx
453465:	2b 46 10             	sub    0x10(%esi),%eax
453468:	8b 75 fc             	mov    -0x4(%ebp),%esi
45346b:	d1 f8                	sar    $1,%eax
45346d:	6a 02                	push   $0x2
45346f:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
453475:	58                   	pop    %eax
453476:	03 f0                	add    %eax,%esi
453478:	6a 3c                	push   $0x3c
45347a:	5f                   	pop    %edi
45347b:	89 75 fc             	mov    %esi,-0x4(%ebp)
45347e:	66 39 3e             	cmp    %di,(%esi)
453481:	8d 56 02             	lea    0x2(%esi),%edx
453484:	6a 17                	push   $0x17
453486:	0f 95 c3             	setne  %bl
453489:	89 55 8c             	mov    %edx,-0x74(%ebp)
45348c:	58                   	pop    %eax
45348d:	4b                   	dec    %ebx
45348e:	23 d8                	and    %eax,%ebx
453490:	6a 27                	push   $0x27
453492:	58                   	pop    %eax
453493:	03 d8                	add    %eax,%ebx
453495:	33 c0                	xor    %eax,%eax
453497:	6a 2b                	push   $0x2b
453499:	89 45 e0             	mov    %eax,-0x20(%ebp)
45349c:	89 45 c8             	mov    %eax,-0x38(%ebp)
45349f:	0f b7 02             	movzwl (%edx),%eax
4534a2:	59                   	pop    %ecx
4534a3:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
4534a6:	3b c1                	cmp    %ecx,%eax
4534a8:	74 23                	je     0x4534cd
4534aa:	6a 2d                	push   $0x2d
4534ac:	59                   	pop    %ecx
4534ad:	3b c1                	cmp    %ecx,%eax
4534af:	74 1c                	je     0x4534cd
4534b1:	6a 30                	push   $0x30
4534b3:	59                   	pop    %ecx
4534b4:	3b c1                	cmp    %ecx,%eax
4534b6:	72 07                	jb     0x4534bf
4534b8:	6a 39                	push   $0x39
4534ba:	5f                   	pop    %edi
4534bb:	3b c7                	cmp    %edi,%eax
4534bd:	76 0e                	jbe    0x4534cd
4534bf:	8b 45 f4             	mov    -0xc(%ebp),%eax
4534c2:	8b 55 0c             	mov    0xc(%ebp),%edx
4534c5:	89 45 e8             	mov    %eax,-0x18(%ebp)
4534c8:	e9 f0 02 00 00       	jmp    0x4537bd
4534cd:	8d 4e 04             	lea    0x4(%esi),%ecx
4534d0:	0f b7 01             	movzwl (%ecx),%eax
4534d3:	6a 30                	push   $0x30
4534d5:	5f                   	pop    %edi
4534d6:	66 3b c7             	cmp    %di,%ax
4534d9:	72 19                	jb     0x4534f4
4534db:	6a 02                	push   $0x2
4534dd:	5a                   	pop    %edx
4534de:	66 3b 85 70 ff ff ff 	cmp    -0x90(%ebp),%ax
4534e5:	77 0a                	ja     0x4534f1
4534e7:	03 ca                	add    %edx,%ecx
4534e9:	0f b7 01             	movzwl (%ecx),%eax
4534ec:	66 3b c7             	cmp    %di,%ax
4534ef:	73 ed                	jae    0x4534de
4534f1:	8b 55 8c             	mov    -0x74(%ebp),%edx
4534f4:	66 39 19             	cmp    %bx,(%ecx)
4534f7:	74 0d                	je     0x453506
4534f9:	8b 45 0c             	mov    0xc(%ebp),%eax
4534fc:	6a 39                	push   $0x39
4534fe:	59                   	pop    %ecx
4534ff:	89 08                	mov    %ecx,(%eax)
453501:	e9 74 e9 ff ff       	jmp    0x451e7a
453506:	8b f2                	mov    %edx,%esi
453508:	89 75 fc             	mov    %esi,-0x4(%ebp)
45350b:	0f b7 3e             	movzwl (%esi),%edi
45350e:	6a 2b                	push   $0x2b
453510:	8b d7                	mov    %edi,%edx
453512:	58                   	pop    %eax
453513:	89 55 8c             	mov    %edx,-0x74(%ebp)
453516:	3b d0                	cmp    %eax,%edx
453518:	75 22                	jne    0x45353c
45351a:	6a 02                	push   $0x2
45351c:	58                   	pop    %eax
45351d:	03 f0                	add    %eax,%esi
45351f:	6a 30                	push   $0x30
453521:	89 75 fc             	mov    %esi,-0x4(%ebp)
453524:	5f                   	pop    %edi
453525:	0f b7 06             	movzwl (%esi),%eax
453528:	66 3b c7             	cmp    %di,%ax
45352b:	72 08                	jb     0x453535
45352d:	6a 39                	push   $0x39
45352f:	59                   	pop    %ecx
453530:	66 3b c1             	cmp    %cx,%ax
453533:	76 2e                	jbe    0x453563
453535:	6a 3f                	push   $0x3f
453537:	e9 42 11 00 00       	jmp    0x45467e
45353c:	6a 2d                	push   $0x2d
45353e:	58                   	pop    %eax
45353f:	3b d0                	cmp    %eax,%edx
453541:	75 20                	jne    0x453563
453543:	0f b7 46 02          	movzwl 0x2(%esi),%eax
453547:	66 3b 85 1c ff ff ff 	cmp    -0xe4(%ebp),%ax
45354e:	0f 82 80 00 00 00    	jb     0x4535d4
453554:	66 3b 85 70 ff ff ff 	cmp    -0x90(%ebp),%ax
45355b:	77 77                	ja     0x4535d4
45355d:	83 c6 02             	add    $0x2,%esi
453560:	89 75 fc             	mov    %esi,-0x4(%ebp)
453563:	33 c0                	xor    %eax,%eax
453565:	6a 30                	push   $0x30
453567:	8b f8                	mov    %eax,%edi
453569:	0f b7 06             	movzwl (%esi),%eax
45356c:	59                   	pop    %ecx
45356d:	66 3b c1             	cmp    %cx,%ax
453570:	72 2c                	jb     0x45359e
453572:	6a 02                	push   $0x2
453574:	5a                   	pop    %edx
453575:	6a 39                	push   $0x39
453577:	5b                   	pop    %ebx
453578:	66 3b c3             	cmp    %bx,%ax
45357b:	77 1b                	ja     0x453598
45357d:	6b cf 0a             	imul   $0xa,%edi,%ecx
453580:	03 f2                	add    %edx,%esi
453582:	0f b7 f8             	movzwl %ax,%edi
453585:	6a 30                	push   $0x30
453587:	89 75 fc             	mov    %esi,-0x4(%ebp)
45358a:	0f b7 06             	movzwl (%esi),%eax
45358d:	83 c1 d0             	add    $0xffffffd0,%ecx
453590:	03 f9                	add    %ecx,%edi
453592:	59                   	pop    %ecx
453593:	66 3b c1             	cmp    %cx,%ax
453596:	73 e0                	jae    0x453578
453598:	8b 55 8c             	mov    -0x74(%ebp),%edx
45359b:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
45359e:	66 39 1e             	cmp    %bx,(%esi)
4535a1:	0f 85 a3 10 00 00    	jne    0x45464a
4535a7:	6a 2d                	push   $0x2d
4535a9:	58                   	pop    %eax
4535aa:	3b d0                	cmp    %eax,%edx
4535ac:	0f 85 93 01 00 00    	jne    0x453745
4535b2:	85 ff                	test   %edi,%edi
4535b4:	0f 84 8c 10 00 00    	je     0x454646
4535ba:	8b 55 28             	mov    0x28(%ebp),%edx
4535bd:	8b 42 40             	mov    0x40(%edx),%eax
4535c0:	2b c7                	sub    %edi,%eax
4535c2:	8d 78 01             	lea    0x1(%eax),%edi
4535c5:	85 ff                	test   %edi,%edi
4535c7:	0f 8f 28 04 00 00    	jg     0x4539f5
4535cd:	6a 0f                	push   $0xf
4535cf:	e9 aa 10 00 00       	jmp    0x45467e
4535d4:	8b 5d 28             	mov    0x28(%ebp),%ebx
4535d7:	33 c9                	xor    %ecx,%ecx
4535d9:	e9 e6 46 fc ff       	jmp    0x417cc4
4535de:	6a 2d                	push   $0x2d
4535e0:	5f                   	pop    %edi
4535e1:	3b c7                	cmp    %edi,%eax
4535e3:	74 38                	je     0x45361d
4535e5:	83 f8 4a             	cmp    $0x4a,%eax
4535e8:	74 21                	je     0x45360b
4535ea:	83 f8 55             	cmp    $0x55,%eax
4535ed:	74 11                	je     0x453600
4535ef:	83 f8 58             	cmp    $0x58,%eax
4535f2:	0f 85 17 10 00 00    	jne    0x45460f
4535f8:	83 09 40             	orl    $0x40,(%ecx)
4535fb:	e9 01 47 fc ff       	jmp    0x417d01
453600:	81 09 00 02 00 00    	orl    $0x200,(%ecx)
453606:	e9 f6 46 fc ff       	jmp    0x417d01
45360b:	81 09 00 00 08 00    	orl    $0x80000,(%ecx)
453611:	81 4b 64 00 04 00 00 	orl    $0x400,0x64(%ebx)
453618:	e9 e4 46 fc ff       	jmp    0x417d01
45361d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
453620:	e9 dc 46 fc ff       	jmp    0x417d01
453625:	83 f8 6d             	cmp    $0x6d,%eax
453628:	74 22                	je     0x45364c
45362a:	6a 73                	push   $0x73
45362c:	5f                   	pop    %edi
45362d:	3b c7                	cmp    %edi,%eax
45362f:	74 13                	je     0x453644
453631:	6a 78                	push   $0x78
453633:	5f                   	pop    %edi
453634:	3b c7                	cmp    %edi,%eax
453636:	0f 85 d3 0f 00 00    	jne    0x45460f
45363c:	83 09 08             	orl    $0x8,(%ecx)
45363f:	e9 bd 46 fc ff       	jmp    0x417d01
453644:	6a 04                	push   $0x4
453646:	58                   	pop    %eax
453647:	e9 b3 46 fc ff       	jmp    0x417cff
45364c:	09 11                	or     %edx,(%ecx)
45364e:	e9 ae 46 fc ff       	jmp    0x417d01
453653:	8b 45 2c             	mov    0x2c(%ebp),%eax
453656:	85 c0                	test   %eax,%eax
453658:	74 08                	je     0x453662
45365a:	39 08                	cmp    %ecx,(%eax)
45365c:	0f 85 d7 46 fc ff    	jne    0x417d39
453662:	89 53 60             	mov    %edx,0x60(%ebx)
453665:	e9 f2 46 fc ff       	jmp    0x417d5c
45366a:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
45366d:	6a 52                	push   $0x52
45366f:	5f                   	pop    %edi
453670:	8b 55 f8             	mov    -0x8(%ebp),%edx
453673:	e9 f0 42 fc ff       	jmp    0x417968
453678:	39 48 7c             	cmp    %ecx,0x7c(%eax)
45367b:	0f 84 0b 43 fc ff    	je     0x41798c
453681:	89 4d f0             	mov    %ecx,-0x10(%ebp)
453684:	89 48 7c             	mov    %ecx,0x7c(%eax)
453687:	e9 03 43 fc ff       	jmp    0x41798f
45368c:	39 70 40             	cmp    %esi,0x40(%eax)
45368f:	0f 87 c6 43 fc ff    	ja     0x417a5b
453695:	8b 75 f8             	mov    -0x8(%ebp),%esi
453698:	b9 82 00 00 00       	mov    $0x82,%ecx
45369d:	66 89 0e             	mov    %cx,(%esi)
4536a0:	e9 97 43 fc ff       	jmp    0x417a3c
4536a5:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
4536a9:	0f 85 ac 43 fc ff    	jne    0x417a5b
4536af:	33 c0                	xor    %eax,%eax
4536b1:	8b ce                	mov    %esi,%ecx
4536b3:	6a 78                	push   $0x78
4536b5:	8b d0                	mov    %eax,%edx
4536b7:	5f                   	pop    %edi
4536b8:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
4536bc:	42                   	inc    %edx
4536bd:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
4536c0:	66 39 39             	cmp    %di,(%ecx)
4536c3:	75 f3                	jne    0x4536b8
4536c5:	8b 7d 8c             	mov    -0x74(%ebp),%edi
4536c8:	b8 91 00 00 00       	mov    $0x91,%eax
4536cd:	66 39 46 04          	cmp    %ax,0x4(%esi)
4536d1:	75 10                	jne    0x4536e3
4536d3:	3b 55 f4             	cmp    -0xc(%ebp),%edx
4536d6:	0f 8f 43 0f 00 00    	jg     0x45461f
4536dc:	8b d8                	mov    %eax,%ebx
4536de:	e9 78 43 fc ff       	jmp    0x417a5b
4536e3:	6a 02                	push   $0x2
4536e5:	58                   	pop    %eax
4536e6:	3b d0                	cmp    %eax,%edx
4536e8:	0f 8f 3f 0f 00 00    	jg     0x45462d
4536ee:	3b 55 f4             	cmp    -0xc(%ebp),%edx
4536f1:	0f 85 64 43 fc ff    	jne    0x417a5b
4536f7:	83 c8 ff             	or     $0xffffffff,%eax
4536fa:	0b c8                	or     %eax,%ecx
4536fc:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
453702:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
453708:	e9 54 43 fc ff       	jmp    0x417a61
45370d:	85 c9                	test   %ecx,%ecx
45370f:	78 17                	js     0x453728
453711:	8b 9d 28 ff ff ff    	mov    -0xd8(%ebp),%ebx
453717:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
45371a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45371d:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
453720:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
453726:	eb 04                	jmp    0x45372c
453728:	83 4d d4 ff          	orl    $0xffffffff,-0x2c(%ebp)
45372c:	83 4d 94 ff          	orl    $0xffffffff,-0x6c(%ebp)
453730:	e9 9d 43 fc ff       	jmp    0x417ad2
453735:	6a 7d                	push   $0x7d
453737:	59                   	pop    %ecx
453738:	3b d9                	cmp    %ecx,%ebx
45373a:	0f 85 35 41 fc ff    	jne    0x417875
453740:	e9 8d 43 fc ff       	jmp    0x417ad2
453745:	6a 2b                	push   $0x2b