45233f:	66 3b c3             	cmp    %bx,%ax
452342:	0f 85 57 22 00 00    	jne    0x45459f
452348:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
45234c:	0f 85 18 13 00 00    	jne    0x45366a
452352:	85 ff                	test   %edi,%edi
452354:	0f 88 09 01 00 00    	js     0x452463
45235a:	85 d2                	test   %edx,%edx
45235c:	0f 8e 2f 22 00 00    	jle    0x454591
452362:	8b 5d 28             	mov    0x28(%ebp),%ebx
452365:	85 ff                	test   %edi,%edi
452367:	0f 84 c8 00 00 00    	je     0x452435
45236d:	6a 2d                	push   $0x2d
45236f:	58                   	pop    %eax
452370:	3b f8                	cmp    %eax,%edi
452372:	0f 85 ba 00 00 00    	jne    0x452432
452378:	8b 43 40             	mov    0x40(%ebx),%eax
45237b:	2b c2                	sub    %edx,%eax
45237d:	8d 50 01             	lea    0x1(%eax),%edx
452380:	e9 b0 00 00 00       	jmp    0x452435
452385:	66 3b 85 f0 fe ff ff 	cmp    -0x110(%ebp),%ax
45238c:	75 19                	jne    0x4523a7
45238e:	6a 3e                	push   $0x3e
452390:	eb 02                	jmp    0x452394
452392:	6a 27                	push   $0x27
452394:	58                   	pop    %eax
452395:	8b d8                	mov    %eax,%ebx
452397:	6a 02                	push   $0x2
452399:	58                   	pop    %eax
45239a:	03 f0                	add    %eax,%esi
45239c:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45239f:	89 75 fc             	mov    %esi,-0x4(%ebp)
4523a2:	e9 e3 fe ff ff       	jmp    0x45228a
4523a7:	66 3b 85 20 ff ff ff 	cmp    -0xe0(%ebp),%ax
4523ae:	74 e2                	je     0x452392
4523b0:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4523b3:	66 3b 85 ac fe ff ff 	cmp    -0x154(%ebp),%ax
4523ba:	74 29                	je     0x4523e5
4523bc:	66 3b 85 a8 fe ff ff 	cmp    -0x158(%ebp),%ax
4523c3:	74 20                	je     0x4523e5
4523c5:	66 3b 85 1c ff ff ff 	cmp    -0xe4(%ebp),%ax
4523cc:	0f 82 cf fe ff ff    	jb     0x4522a1
4523d2:	66 3b 85 70 ff ff ff 	cmp    -0x90(%ebp),%ax
4523d9:	0f 87 ab fe ff ff    	ja     0x45228a
4523df:	33 c0                	xor    %eax,%eax
4523e1:	8b f8                	mov    %eax,%edi
4523e3:	eb 12                	jmp    0x4523f7
4523e5:	8b f8                	mov    %eax,%edi
4523e7:	6a 02                	push   $0x2
4523e9:	58                   	pop    %eax
4523ea:	03 f0                	add    %eax,%esi
4523ec:	89 75 fc             	mov    %esi,-0x4(%ebp)
4523ef:	85 ff                	test   %edi,%edi
4523f1:	0f 88 93 fe ff ff    	js     0x45228a
4523f7:	0f b7 06             	movzwl (%esi),%eax
4523fa:	6a 30                	push   $0x30
4523fc:	5b                   	pop    %ebx
4523fd:	66 3b c3             	cmp    %bx,%ax
452400:	0f 82 28 ff ff ff    	jb     0x45232e
452406:	6a 39                	push   $0x39
452408:	59                   	pop    %ecx
452409:	66 3b c1             	cmp    %cx,%ax
45240c:	0f 87 19 ff ff ff    	ja     0x45232b
452412:	6b ca 0a             	imul   $0xa,%edx,%ecx
452415:	0f b7 d0             	movzwl %ax,%edx
452418:	6a 02                	push   $0x2
45241a:	58                   	pop    %eax
45241b:	03 f0                	add    %eax,%esi
45241d:	83 c2 d0             	add    $0xffffffd0,%edx
452420:	89 75 fc             	mov    %esi,-0x4(%ebp)
452423:	03 d1                	add    %ecx,%edx
452425:	0f b7 06             	movzwl (%esi),%eax
452428:	66 3b c3             	cmp    %bx,%ax
45242b:	73 d9                	jae    0x452406
45242d:	e9 f9 fe ff ff       	jmp    0x45232b
452432:	03 53 40             	add    0x40(%ebx),%edx
452435:	85 d2                	test   %edx,%edx
452437:	0f 8e 90 11 00 00    	jle    0x4535cd
45243d:	3b 53 44             	cmp    0x44(%ebx),%edx
452440:	0f 8f 87 11 00 00    	jg     0x4535cd
452446:	8b 45 f8             	mov    -0x8(%ebp),%eax
452449:	6a 52                	push   $0x52
45244b:	5f                   	pop    %edi
45244c:	66 89 50 06          	mov    %dx,0x6(%eax)
452450:	8b 75 fc             	mov    -0x4(%ebp),%esi
452453:	3b 53 4c             	cmp    0x4c(%ebx),%edx
452456:	7e 03                	jle    0x45245b
452458:	89 53 4c             	mov    %edx,0x4c(%ebx)
45245b:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
45245e:	e9 0d 12 00 00       	jmp    0x453670
452463:	8b 55 28             	mov    0x28(%ebp),%edx
452466:	33 db                	xor    %ebx,%ebx
452468:	8b fb                	mov    %ebx,%edi
45246a:	8b 5a 30             	mov    0x30(%edx),%ebx
45246d:	8b 42 2c             	mov    0x2c(%edx),%eax
452470:	89 45 b8             	mov    %eax,-0x48(%ebp)
452473:	85 db                	test   %ebx,%ebx
452475:	7e 31                	jle    0x4524a8
452477:	8b 75 e8             	mov    -0x18(%ebp),%esi
45247a:	56                   	push   %esi
45247b:	8d 50 02             	lea    0x2(%eax),%edx
45247e:	e8 75 c5 03 00       	call   0x48e9f8
452483:	8b 55 28             	mov    0x28(%ebp),%edx
452486:	59                   	pop    %ecx
452487:	85 c0                	test   %eax,%eax
452489:	74 17                	je     0x4524a2
45248b:	8b 42 34             	mov    0x34(%edx),%eax
45248e:	47                   	inc    %edi
45248f:	8b 4d b8             	mov    -0x48(%ebp),%ecx
452492:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
452495:	89 4d b8             	mov    %ecx,-0x48(%ebp)
452498:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45249b:	8b 45 b8             	mov    -0x48(%ebp),%eax
45249e:	3b fb                	cmp    %ebx,%edi
4524a0:	7c d8                	jl     0x45247a
4524a2:	8b 75 dc             	mov    -0x24(%ebp),%esi
4524a5:	8b 45 b8             	mov    -0x48(%ebp),%eax
4524a8:	3b fb                	cmp    %ebx,%edi
4524aa:	0f 8d 86 00 00 00    	jge    0x452536
4524b0:	0f b7 00             	movzwl (%eax),%eax
4524b3:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4524b6:	89 7d 98             	mov    %edi,-0x68(%ebp)
4524b9:	47                   	inc    %edi
4524ba:	89 45 80             	mov    %eax,-0x80(%ebp)
4524bd:	3b 42 4c             	cmp    0x4c(%edx),%eax
4524c0:	7e 03                	jle    0x4524c5
4524c2:	89 42 4c             	mov    %eax,0x4c(%edx)
4524c5:	3b 7a 30             	cmp    0x30(%edx),%edi
4524c8:	7d 60                	jge    0x45252a
4524ca:	8b 72 34             	mov    0x34(%edx),%esi
4524cd:	8b 45 e8             	mov    -0x18(%ebp),%eax
4524d0:	03 f6                	add    %esi,%esi
4524d2:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4524d5:	03 ce                	add    %esi,%ecx
4524d7:	89 4d b8             	mov    %ecx,-0x48(%ebp)
4524da:	50                   	push   %eax
4524db:	8d 51 02             	lea    0x2(%ecx),%edx
4524de:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4524e1:	e8 12 c5 03 00       	call   0x48e9f8
4524e6:	59                   	pop    %ecx
4524e7:	85 c0                	test   %eax,%eax
4524e9:	75 19                	jne    0x452504
4524eb:	8b 45 e8             	mov    -0x18(%ebp),%eax
4524ee:	33 d2                	xor    %edx,%edx
4524f0:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4524f3:	66 39 54 41 02       	cmp    %dx,0x2(%ecx,%eax,2)
4524f8:	75 0a                	jne    0x452504
4524fa:	8b 55 28             	mov    0x28(%ebp),%edx
4524fd:	43                   	inc    %ebx
4524fe:	47                   	inc    %edi
4524ff:	3b 7a 30             	cmp    0x30(%edx),%edi
452502:	7c d1                	jl     0x4524d5
452504:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
452507:	7e 1e                	jle    0x452527
452509:	8b 55 f8             	mov    -0x8(%ebp),%edx
45250c:	8b 45 98             	mov    -0x68(%ebp),%eax
45250f:	c7 45 e0 03 00 00 00 	movl   $0x3,-0x20(%ebp)
452516:	66 ff 42 04          	incw   0x4(%edx)
45251a:	66 89 42 06          	mov    %ax,0x6(%edx)
45251e:	66 89 5a 08          	mov    %bx,0x8(%edx)
452522:	e9 38 54 fc ff       	jmp    0x41795f
452527:	8b 45 80             	mov    -0x80(%ebp),%eax
45252a:	8b 55 f8             	mov    -0x8(%ebp),%edx
45252d:	66 89 42 06          	mov    %ax,0x6(%edx)
452531:	e9 29 54 fc ff       	jmp    0x41795f
452536:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45253a:	0f 85 8d 10 00 00    	jne    0x4535cd
452540:	8b 45 ec             	mov    -0x14(%ebp),%eax
452543:	6a 52                	push   $0x52
452545:	5f                   	pop    %edi
452546:	66 39 38             	cmp    %di,(%eax)
452549:	75 58                	jne    0x4525a3
45254b:	8b 5d e8             	mov    -0x18(%ebp),%ebx
45254e:	33 c9                	xor    %ecx,%ecx
452550:	8b 55 f4             	mov    -0xc(%ebp),%edx
452553:	83 fb 01             	cmp    $0x1,%ebx
452556:	7e 31                	jle    0x452589
452558:	6a 30                	push   $0x30
45255a:	5f                   	pop    %edi
45255b:	0f b7 04 50          	movzwl (%eax,%edx,2),%eax
45255f:	66 3b c7             	cmp    %di,%ax
452562:	0f 82 65 10 00 00    	jb     0x4535cd
452568:	66 3b 85 70 ff ff ff 	cmp    -0x90(%ebp),%ax
45256f:	0f 87 58 10 00 00    	ja     0x4535cd
452575:	6b c9 0a             	imul   $0xa,%ecx,%ecx
452578:	83 c0 d0             	add    $0xffffffd0,%eax
45257b:	03 c8                	add    %eax,%ecx
45257d:	8b 45 ec             	mov    -0x14(%ebp),%eax
452580:	42                   	inc    %edx
452581:	3b d3                	cmp    %ebx,%edx
452583:	7c d6                	jl     0x45255b
452585:	85 c9                	test   %ecx,%ecx
452587:	75 05                	jne    0x45258e
452589:	b9 ff ff 00 00       	mov    $0xffff,%ecx
45258e:	8b 55 f8             	mov    -0x8(%ebp),%edx
452591:	b8 8f 00 00 00       	mov    $0x8f,%eax
452596:	66 89 42 04          	mov    %ax,0x4(%edx)
45259a:	66 89 4a 06          	mov    %cx,0x6(%edx)
45259e:	e9 bc 53 fc ff       	jmp    0x41795f
4525a3:	83 7d e8 06          	cmpl   $0x6,-0x18(%ebp)
4525a7:	0f 85 20 10 00 00    	jne    0x4535cd
4525ad:	6a 06                	push   $0x6
4525af:	ba 20 b9 4b 00       	mov    $0x4bb920,%edx
4525b4:	8b c8                	mov    %eax,%ecx
4525b6:	e8 da 5d fc ff       	call   0x418395
4525bb:	59                   	pop    %ecx
4525bc:	85 c0                	test   %eax,%eax
4525be:	0f 85 09 10 00 00    	jne    0x4535cd
4525c4:	8b 55 f8             	mov    -0x8(%ebp),%edx
4525c7:	b8 91 00 00 00       	mov    $0x91,%eax
4525cc:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4525cf:	66 89 42 04          	mov    %ax,0x4(%edx)
4525d3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4525d6:	8b 75 fc             	mov    -0x4(%ebp),%esi
4525d9:	89 45 e0             	mov    %eax,-0x20(%ebp)
4525dc:	e9 87 53 fc ff       	jmp    0x417968
4525e1:	6a 2b                	push   $0x2b
4525e3:	5a                   	pop    %edx
4525e4:	3b c2                	cmp    %edx,%eax
4525e6:	74 1b                	je     0x452603
4525e8:	6a 2d                	push   $0x2d
4525ea:	5a                   	pop    %edx
4525eb:	3b c2                	cmp    %edx,%eax
4525ed:	74 14                	je     0x452603
4525ef:	83 f8 2f             	cmp    $0x2f,%eax
4525f2:	0f 8e cc 56 fc ff    	jle    0x417cc4
4525f8:	6a 39                	push   $0x39
4525fa:	5a                   	pop    %edx
4525fb:	3b c2                	cmp    %edx,%eax
4525fd:	0f 8f c1 56 fc ff    	jg     0x417cc4
452603:	6a 29                	push   $0x29
452605:	58                   	pop    %eax
452606:	8b d8                	mov    %eax,%ebx
452608:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
45260b:	e9 fb 0e 00 00       	jmp    0x45350b
452610:	8b 45 f4             	mov    -0xc(%ebp),%eax
452613:	89 45 c8             	mov    %eax,-0x38(%ebp)
452616:	bb 83 00 00 00       	mov    $0x83,%ebx
45261b:	eb 05                	jmp    0x452622
45261d:	bb 81 00 00 00       	mov    $0x81,%ebx
452622:	03 f2                	add    %edx,%esi
452624:	eb 10                	jmp    0x452636
452626:	8b 55 28             	mov    0x28(%ebp),%edx
452629:	6a 7d                	push   $0x7d
45262b:	58                   	pop    %eax
45262c:	8b d8                	mov    %eax,%ebx
45262e:	ff 42 5c             	incl   0x5c(%edx)
452631:	6a 02                	push   $0x2
452633:	58                   	pop    %eax
452634:	03 f0                	add    %eax,%esi
452636:	89 75 fc             	mov    %esi,-0x4(%ebp)
452639:	e9 2f 10 00 00       	jmp    0x45366d
45263e:	03 f2                	add    %edx,%esi
452640:	6a 3d                	push   $0x3d
452642:	89 75 fc             	mov    %esi,-0x4(%ebp)
452645:	58                   	pop    %eax
452646:	0f b7 3e             	movzwl (%esi),%edi
452649:	66 3b f8             	cmp    %ax,%di
45264c:	0f 84 a4 fa ff ff    	je     0x4520f6
452652:	6a 3e                	push   $0x3e
452654:	58                   	pop    %eax
452655:	66 3b f8             	cmp    %ax,%di
452658:	74 13                	je     0x45266d
45265a:	6a 3c                	push   $0x3c
45265c:	59                   	pop    %ecx
45265d:	66 3b f9             	cmp    %cx,%di
452660:	0f 84 ba 00 00 00    	je     0x452720
452666:	6a 29                	push   $0x29
452668:	e9 11 20 00 00       	jmp    0x45467e
45266d:	8b 45 f4             	mov    -0xc(%ebp),%eax
452670:	89 45 e8             	mov    %eax,-0x18(%ebp)
452673:	e9 81 fa ff ff       	jmp    0x4520f9
452678:	8b 55 f8             	mov    -0x8(%ebp),%edx
45267b:	8b 45 f4             	mov    -0xc(%ebp),%eax
45267e:	6a 76                	push   $0x76
452680:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
452686:	58                   	pop    %eax
452687:	66 89 02             	mov    %ax,(%edx)
45268a:	8b 75 fc             	mov    -0x4(%ebp),%esi
45268d:	6a 02                	push   $0x2
45268f:	58                   	pop    %eax
452690:	03 f0                	add    %eax,%esi
452692:	89 55 88             	mov    %edx,-0x78(%ebp)
452695:	03 d0                	add    %eax,%edx
452697:	89 75 fc             	mov    %esi,-0x4(%ebp)
45269a:	6a 30                	push   $0x30
45269c:	5f                   	pop    %edi
45269d:	0f b7 06             	movzwl (%esi),%eax
4526a0:	66 3b c7             	cmp    %di,%ax
4526a3:	72 27                	jb     0x4526cc
4526a5:	6a 02                	push   $0x2
4526a7:	5b                   	pop    %ebx
4526a8:	66 3b 85 70 ff ff ff 	cmp    -0x90(%ebp),%ax
4526af:	77 18                	ja     0x4526c9
4526b1:	6b c9 0a             	imul   $0xa,%ecx,%ecx
4526b4:	03 f3                	add    %ebx,%esi
4526b6:	0f b7 c0             	movzwl %ax,%eax
4526b9:	83 c0 d0             	add    $0xffffffd0,%eax
4526bc:	89 75 fc             	mov    %esi,-0x4(%ebp)
4526bf:	03 c8                	add    %eax,%ecx
4526c1:	0f b7 06             	movzwl (%esi),%eax
4526c4:	66 3b c7             	cmp    %di,%ax
4526c7:	73 df                	jae    0x4526a8
4526c9:	8b 5d 28             	mov    0x28(%ebp),%ebx
4526cc:	6a 29                	push   $0x29
4526ce:	58                   	pop    %eax
4526cf:	66 39 06             	cmp    %ax,(%esi)
4526d2:	0f 85 e8 1e 00 00    	jne    0x4545c0
4526d8:	b8 ff 00 00 00       	mov    $0xff,%eax
4526dd:	3b c8                	cmp    %eax,%ecx
4526df:	0f 8e 74 fa ff ff    	jle    0x452159
4526e5:	6a 26                	push   $0x26
4526e7:	e9 92 1f 00 00       	jmp    0x45467e
4526ec:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4526f0:	8b c8                	mov    %eax,%ecx
4526f2:	83 f9 21             	cmp    $0x21,%ecx
4526f5:	0f 84 d6 01 00 00    	je     0x4528d1
4526fb:	83 f9 3d             	cmp    $0x3d,%ecx
4526fe:	0f 84 c8 01 00 00    	je     0x4528cc
452704:	66 3b 85 4c ff ff ff 	cmp    -0xb4(%ebp),%ax
45270b:	0f 87 e0 1e 00 00    	ja     0x4545f1
452711:	8b 43 0c             	mov    0xc(%ebx),%eax
452714:	6a 10                	push   $0x10
452716:	5b                   	pop    %ebx
452717:	84 1c 01             	test   %bl,(%ecx,%eax,1)
45271a:	0f 84 d1 1e 00 00    	je     0x4545f1
452720:	6a 3c                	push   $0x3c
452722:	58                   	pop    %eax
452723:	33 c9                	xor    %ecx,%ecx
452725:	66 3b f8             	cmp    %ax,%di
452728:	6a 17                	push   $0x17
45272a:	0f 95 c1             	setne  %cl
45272d:	03 f2                	add    %edx,%esi
45272f:	58                   	pop    %eax
452730:	49                   	dec    %ecx
452731:	89 75 fc             	mov    %esi,-0x4(%ebp)
452734:	23 c8                	and    %eax,%ecx
452736:	8b de                	mov    %esi,%ebx
452738:	6a 27                	push   $0x27
45273a:	58                   	pop    %eax
45273b:	03 c8                	add    %eax,%ecx
45273d:	89 5d dc             	mov    %ebx,-0x24(%ebp)
452740:	0f b7 06             	movzwl (%esi),%eax
452743:	6a 30                	push   $0x30
452745:	5a                   	pop    %edx
452746:	66 3b c2             	cmp    %dx,%ax
452749:	72 0c                	jb     0x452757
45274b:	6a 39                	push   $0x39
45274d:	5a                   	pop    %edx
45274e:	66 3b c2             	cmp    %dx,%ax
452751:	0f 86 2c 1e 00 00    	jbe    0x454583