4882c0:	c7 85 64 ff ff ff 04 	movl   $0x104,-0x9c(%ebp)
4882c7:	01 00 00
4882ca:	ff 15 d4 f5 48 00    	call   *0x48f5d4
4882d0:	85 c0                	test   %eax,%eax
4882d2:	75 0a                	jne    0x4882de
4882d4:	ff 75 0c             	push   0xc(%ebp)
4882d7:	89 3b                	mov    %edi,(%ebx)
4882d9:	e9 62 ff ff ff       	jmp    0x488240
4882de:	8b 45 0c             	mov    0xc(%ebp),%eax
4882e1:	e9 63 04 00 00       	jmp    0x488749
4882e6:	6a 00                	push   $0x0
4882e8:	ff 75 08             	push   0x8(%ebp)
4882eb:	c7 85 40 ff ff ff 01 	movl   $0x1,-0xc0(%ebp)
4882f2:	00 00 00
4882f5:	ff 76 0c             	push   0xc(%esi)
4882f8:	ff 15 d4 f5 48 00    	call   *0x48f5d4
4882fe:	57                   	push   %edi
4882ff:	85 c0                	test   %eax,%eax
488301:	0f 84 39 ff ff ff    	je     0x488240
488307:	e8 60 8d f9 ff       	call   0x42106c
48830c:	59                   	pop    %ecx
48830d:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
488313:	8a c1                	mov    %cl,%al
488315:	24 03                	and    $0x3,%al
488317:	89 0b                	mov    %ecx,(%ebx)
488319:	0f be c0             	movsbl %al,%eax
48831c:	f7 d8                	neg    %eax
48831e:	1b c0                	sbb    %eax,%eax
488320:	83 e0 40             	and    $0x40,%eax
488323:	83 c0 40             	add    $0x40,%eax
488326:	f7 c1 80 80 00 00    	test   $0x8080,%ecx
48832c:	74 05                	je     0x488333
48832e:	0d 00 01 00 00       	or     $0x100,%eax
488333:	f6 c1 08             	test   $0x8,%cl
488336:	74 05                	je     0x48833d
488338:	83 c8 01             	or     $0x1,%eax
48833b:	eb 03                	jmp    0x488340
48833d:	83 c8 04             	or     $0x4,%eax
488340:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
488346:	0f 84 f9 03 00 00    	je     0x488745
48834c:	0d 00 02 00 00       	or     $0x200,%eax
488351:	e9 ef 03 00 00       	jmp    0x488745
488356:	21 3b                	and    %edi,(%ebx)
488358:	e9 ea 03 00 00       	jmp    0x488747
48835d:	8b 41 10             	mov    0x10(%ecx),%eax
488360:	33 ff                	xor    %edi,%edi
488362:	6a f0                	push   $0xfffffff0
488364:	ff 71 34             	push   0x34(%ecx)
488367:	89 45 d4             	mov    %eax,-0x2c(%ebp)
48836a:	89 3b                	mov    %edi,(%ebx)
48836c:	ff 15 5c f6 48 00    	call   *0x48f65c
488372:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
488376:	89 45 08             	mov    %eax,0x8(%ebp)
488379:	c7 45 d0 08 00 00 00 	movl   $0x8,-0x30(%ebp)
488380:	c7 45 dc 00 f0 00 00 	movl   $0xf000,-0x24(%ebp)
488387:	74 22                	je     0x4883ab
488389:	68 00 20 00 00       	push   $0x2000
48838e:	e8 63 8c f9 ff       	call   0x420ff6
488393:	8b 75 f8             	mov    -0x8(%ebp),%esi
488396:	8b d8                	mov    %eax,%ebx
488398:	59                   	pop    %ecx
488399:	8d 45 d0             	lea    -0x30(%ebp),%eax
48839c:	50                   	push   %eax
48839d:	57                   	push   %edi
48839e:	68 3e 11 00 00       	push   $0x113e
4883a3:	ff 76 34             	push   0x34(%esi)
4883a6:	e9 72 fe ff ff       	jmp    0x48821d
4883ab:	8b 75 f8             	mov    -0x8(%ebp),%esi
4883ae:	8d 45 d0             	lea    -0x30(%ebp),%eax
4883b1:	50                   	push   %eax
4883b2:	57                   	push   %edi
4883b3:	68 3e 11 00 00       	push   $0x113e
4883b8:	ff 76 34             	push   0x34(%esi)
4883bb:	ff 15 88 f6 48 00    	call   *0x48f688
4883c1:	85 c0                	test   %eax,%eax
4883c3:	0f 84 7e 03 00 00    	je     0x488747
4883c9:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4883cc:	ba 00 01 00 00       	mov    $0x100,%edx
4883d1:	85 55 08             	test   %edx,0x8(%ebp)
4883d4:	74 12                	je     0x4883e8
4883d6:	8b c1                	mov    %ecx,%eax
4883d8:	c1 e8 0c             	shr    $0xc,%eax
4883db:	48                   	dec    %eax
4883dc:	f7 d8                	neg    %eax
4883de:	1b c0                	sbb    %eax,%eax
4883e0:	83 e0 fd             	and    $0xfffffffd,%eax
4883e3:	83 c0 04             	add    $0x4,%eax
4883e6:	89 03                	mov    %eax,(%ebx)
4883e8:	f6 c1 02             	test   $0x2,%cl
4883eb:	74 02                	je     0x4883ef
4883ed:	09 13                	or     %edx,(%ebx)
4883ef:	f6 c1 20             	test   $0x20,%cl
4883f2:	74 06                	je     0x4883fa
4883f4:	81 0b 00 04 00 00    	orl    $0x400,(%ebx)
4883fa:	f6 c1 10             	test   $0x10,%cl
4883fd:	0f 84 44 03 00 00    	je     0x488747
488403:	81 0b 00 02 00 00    	orl    $0x200,(%ebx)
488409:	e9 39 03 00 00       	jmp    0x488747
48840e:	83 f8 12             	cmp    $0x12,%eax
488411:	0f 84 1e 03 00 00    	je     0x488735
488417:	83 f8 13             	cmp    $0x13,%eax
48841a:	0f 84 cc 02 00 00    	je     0x4886ec
488420:	83 f8 14             	cmp    $0x14,%eax
488423:	0f 84 7a 01 00 00    	je     0x4885a3
488429:	83 f8 15             	cmp    $0x15,%eax
48842c:	0f 84 0a 01 00 00    	je     0x48853c
488432:	83 f8 18             	cmp    $0x18,%eax
488435:	0f 8e ca 00 00 00    	jle    0x488505
48843b:	83 f8 1a             	cmp    $0x1a,%eax
48843e:	7e 53                	jle    0x488493
488440:	83 f8 1c             	cmp    $0x1c,%eax
488443:	0f 85 bc 00 00 00    	jne    0x488505
488449:	8d 45 8c             	lea    -0x74(%ebp),%eax
48844c:	33 ff                	xor    %edi,%edi
48844e:	50                   	push   %eax
48844f:	57                   	push   %edi
488450:	68 01 10 00 00       	push   $0x1001
488455:	56                   	push   %esi
488456:	ff 15 88 f6 48 00    	call   *0x48f688
48845c:	85 c0                	test   %eax,%eax
48845e:	74 2c                	je     0x48848c
488460:	6a 16                	push   $0x16
488462:	e8 8f 8b f9 ff       	call   0x420ff6
488467:	0f b7 4d 92          	movzwl -0x6e(%ebp),%ecx
48846b:	8b f0                	mov    %eax,%esi
48846d:	51                   	push   %ecx
48846e:	0f b7 4d 8e          	movzwl -0x72(%ebp),%ecx
488472:	51                   	push   %ecx
488473:	0f b7 4d 8c          	movzwl -0x74(%ebp),%ecx
488477:	51                   	push   %ecx
488478:	68 10 b7 4b 00       	push   $0x4bb710
48847d:	56                   	push   %esi
48847e:	ff 15 64 f5 48 00    	call   *0x48f564
488484:	83 c4 18             	add    $0x18,%esp
488487:	e9 99 fc ff ff       	jmp    0x488125
48848c:	89 3b                	mov    %edi,(%ebx)
48848e:	e9 b4 02 00 00       	jmp    0x488747
488493:	33 ff                	xor    %edi,%edi
488495:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
488499:	57                   	push   %edi
48849a:	57                   	push   %edi
48849b:	74 47                	je     0x4884e4
48849d:	6a 0e                	push   $0xe
48849f:	56                   	push   %esi
4884a0:	ff 15 88 f6 48 00    	call   *0x48f688
4884a6:	33 c9                	xor    %ecx,%ecx
4884a8:	6a 02                	push   $0x2
4884aa:	5a                   	pop    %edx
4884ab:	8d 70 01             	lea    0x1(%eax),%esi
4884ae:	8b c6                	mov    %esi,%eax
4884b0:	f7 e2                	mul    %edx
4884b2:	0f 90 c1             	seto   %cl
4884b5:	f7 d9                	neg    %ecx
4884b7:	0b c8                	or     %eax,%ecx
4884b9:	51                   	push   %ecx
4884ba:	e8 37 8b f9 ff       	call   0x420ff6
4884bf:	59                   	pop    %ecx
4884c0:	56                   	push   %esi
4884c1:	50                   	push   %eax
4884c2:	ff 75 0c             	push   0xc(%ebp)
4884c5:	89 45 10             	mov    %eax,0x10(%ebp)
4884c8:	ff 15 6c f6 48 00    	call   *0x48f66c
4884ce:	85 c0                	test   %eax,%eax
4884d0:	75 0a                	jne    0x4884dc
4884d2:	ff 75 10             	push   0x10(%ebp)
4884d5:	89 3b                	mov    %edi,(%ebx)
4884d7:	e9 64 fd ff ff       	jmp    0x488240
4884dc:	8b 45 10             	mov    0x10(%ebp),%eax
4884df:	e9 65 02 00 00       	jmp    0x488749
4884e4:	68 f0 00 00 00       	push   $0xf0
4884e9:	56                   	push   %esi
4884ea:	ff 15 88 f6 48 00    	call   *0x48f688
4884f0:	89 03                	mov    %eax,(%ebx)
4884f2:	85 c0                	test   %eax,%eax
4884f4:	0f 85 4d 02 00 00    	jne    0x488747
4884fa:	c7 03 04 00 00 00    	movl   $0x4,(%ebx)
488500:	e9 42 02 00 00       	jmp    0x488747
488505:	57                   	push   %edi
488506:	57                   	push   %edi
488507:	6a 0e                	push   $0xe
488509:	56                   	push   %esi
48850a:	ff 15 88 f6 48 00    	call   *0x48f688
488510:	33 c9                	xor    %ecx,%ecx
488512:	6a 02                	push   $0x2
488514:	5a                   	pop    %edx
488515:	8d 78 01             	lea    0x1(%eax),%edi
488518:	8b c7                	mov    %edi,%eax
48851a:	f7 e2                	mul    %edx
48851c:	0f 90 c1             	seto   %cl
48851f:	f7 d9                	neg    %ecx
488521:	0b c8                	or     %eax,%ecx
488523:	51                   	push   %ecx
488524:	e8 cd 8a f9 ff       	call   0x420ff6
488529:	59                   	pop    %ecx
48852a:	57                   	push   %edi
48852b:	8b f0                	mov    %eax,%esi
48852d:	56                   	push   %esi
48852e:	ff 75 0c             	push   0xc(%ebp)
488531:	ff 15 6c f6 48 00    	call   *0x48f66c
488537:	e9 e9 fb ff ff       	jmp    0x488125
48853c:	83 79 7c 04          	cmpl   $0x4,0x7c(%ecx)
488540:	75 54                	jne    0x488596
488542:	8d 59 70             	lea    0x70(%ecx),%ebx
488545:	8b cb                	mov    %ebx,%ecx
488547:	e8 4b 14 f8 ff       	call   0x409997
48854c:	8b 43 08             	mov    0x8(%ebx),%eax
48854f:	33 c9                	xor    %ecx,%ecx
488551:	6a 02                	push   $0x2
488553:	5a                   	pop    %edx
488554:	8b 40 04             	mov    0x4(%eax),%eax
488557:	40                   	inc    %eax
488558:	f7 e2                	mul    %edx
48855a:	0f 90 c1             	seto   %cl
48855d:	f7 d9                	neg    %ecx
48855f:	0b c8                	or     %eax,%ecx
488561:	51                   	push   %ecx
488562:	e8 8f 8a f9 ff       	call   0x420ff6
488567:	59                   	pop    %ecx
488568:	8b cb                	mov    %ebx,%ecx
48856a:	8b f8                	mov    %eax,%edi
48856c:	e8 26 14 f8 ff       	call   0x409997
488571:	8b 4b 08             	mov    0x8(%ebx),%ecx
488574:	8b 71 04             	mov    0x4(%ecx),%esi
488577:	8b cb                	mov    %ebx,%ecx
488579:	e8 19 14 f8 ff       	call   0x409997
48857e:	8b 53 08             	mov    0x8(%ebx),%edx
488581:	8d 4e 01             	lea    0x1(%esi),%ecx
488584:	51                   	push   %ecx
488585:	8b cf                	mov    %edi,%ecx
488587:	8b 12                	mov    (%edx),%edx
488589:	e8 b0 c0 f7 ff       	call   0x40463e
48858e:	59                   	pop    %ecx
48858f:	8b c7                	mov    %edi,%eax
488591:	e9 b3 01 00 00       	jmp    0x488749
488596:	83 c1 70             	add    $0x70,%ecx
488599:	e8 fe 16 f8 ff       	call   0x409c9c
48859e:	e9 a2 01 00 00       	jmp    0x488745
4885a3:	83 0b ff             	orl    $0xffffffff,(%ebx)
4885a6:	6a ec                	push   $0xffffffec
4885a8:	ff 71 34             	push   0x34(%ecx)
4885ab:	ff 15 5c f6 48 00    	call   *0x48f65c
4885b1:	6a 34                	push   $0x34
4885b3:	89 45 0c             	mov    %eax,0xc(%ebp)
4885b6:	33 ff                	xor    %edi,%edi
4885b8:	8d 45 9c             	lea    -0x64(%ebp),%eax
4885bb:	57                   	push   %edi
4885bc:	50                   	push   %eax
4885bd:	e8 5e aa f9 ff       	call   0x423020
4885c2:	8b 45 08             	mov    0x8(%ebp),%eax
4885c5:	83 c4 0c             	add    $0xc,%esp
4885c8:	8b 75 f8             	mov    -0x8(%ebp),%esi
4885cb:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
4885d1:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
4885d7:	c7 85 70 ff ff ff 01 	movl   $0x1,-0x90(%ebp)
4885de:	00 00 00
4885e1:	50                   	push   %eax
4885e2:	6a ff                	push   $0xffffffff
4885e4:	68 53 10 00 00       	push   $0x1053
4885e9:	ff 76 34             	push   0x34(%esi)
4885ec:	ff 15 88 f6 48 00    	call   *0x48f688
4885f2:	89 45 a0             	mov    %eax,-0x60(%ebp)
4885f5:	83 f8 ff             	cmp    $0xffffffff,%eax
4885f8:	0f 84 49 01 00 00    	je     0x488747
4885fe:	f6 45 0c 04          	testb  $0x4,0xc(%ebp)
488602:	74 45                	je     0x488649
488604:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
488608:	74 3f                	je     0x488649
48860a:	8d 45 9c             	lea    -0x64(%ebp),%eax
48860d:	c7 45 9c 08 00 00 00 	movl   $0x8,-0x64(%ebp)
488614:	50                   	push   %eax
488615:	57                   	push   %edi
488616:	68 4b 10 00 00       	push   $0x104b
48861b:	ff 76 34             	push   0x34(%esi)
48861e:	c7 45 ac 00 f0 00 00 	movl   $0xf000,-0x54(%ebp)
488625:	ff 15 88 f6 48 00    	call   *0x48f688
48862b:	85 c0                	test   %eax,%eax
48862d:	0f 84 14 01 00 00    	je     0x488747
488633:	8b 45 a8             	mov    -0x58(%ebp),%eax
488636:	c1 e8 0c             	shr    $0xc,%eax
488639:	48                   	dec    %eax
48863a:	f7 d8                	neg    %eax
48863c:	1b c0                	sbb    %eax,%eax
48863e:	83 e0 fd             	and    $0xfffffffd,%eax
488641:	83 c0 04             	add    $0x4,%eax
488644:	e9 fc 00 00 00       	jmp    0x488745
488649:	68 00 20 00 00       	push   $0x2000
48864e:	e8 a3 89 f9 ff       	call   0x420ff6
488653:	8b d8                	mov    %eax,%ebx
488655:	c7 45 9c 01 00 00 00 	movl   $0x1,-0x64(%ebp)
48865c:	59                   	pop    %ecx
48865d:	8b d3                	mov    %ebx,%edx
48865f:	c7 45 b4 ff 0f 00 00 	movl   $0xfff,-0x4c(%ebp)
488666:	33 c9                	xor    %ecx,%ecx
488668:	89 55 10             	mov    %edx,0x10(%ebp)
48866b:	66 3b 8e 94 00 00 00 	cmp    0x94(%esi),%cx
488672:	8b c7                	mov    %edi,%eax
488674:	eb 53                	jmp    0x4886c9
488676:	ff 15 88 f6 48 00    	call   *0x48f688
48867c:	ff 75 10             	push   0x10(%ebp)
48867f:	e8 b8 a7 f9 ff       	call   0x422e3c
488684:	59                   	pop    %ecx
488685:	b9 fe 0f 00 00       	mov    $0xffe,%ecx
48868a:	2b c8                	sub    %eax,%ecx
48868c:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
48868f:	85 c9                	test   %ecx,%ecx
488691:	0f 8e a1 fb ff ff    	jle    0x488238
488697:	53                   	push   %ebx
488698:	e8 9f a7 f9 ff       	call   0x422e3c
48869d:	59                   	pop    %ecx
48869e:	8d 0c 43             	lea    (%ebx,%eax,2),%ecx
4886a1:	66 a1 c4 67 4c 00    	mov    0x4c67c4,%ax
4886a7:	66 89 01             	mov    %ax,(%ecx)
4886aa:	33 c0                	xor    %eax,%eax
4886ac:	51                   	push   %ecx
4886ad:	66 89 41 02          	mov    %ax,0x2(%ecx)
4886b1:	ff 15 60 f5 48 00    	call   *0x48f560
4886b7:	0f bf 8e 94 00 00 00 	movswl 0x94(%esi),%ecx
4886be:	8b d0                	mov    %eax,%edx
4886c0:	89 45 10             	mov    %eax,0x10(%ebp)
4886c3:	8b 45 08             	mov    0x8(%ebp),%eax
4886c6:	40                   	inc    %eax
4886c7:	3b c1                	cmp    %ecx,%eax
4886c9:	89 45 08             	mov    %eax,0x8(%ebp)
4886cc:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4886cf:	8d 45 9c             	lea    -0x64(%ebp),%eax
4886d2:	50                   	push   %eax
4886d3:	57                   	push   %edi
4886d4:	68 4b 10 00 00       	push   $0x104b
4886d9:	ff 76 34             	push   0x34(%esi)
4886dc:	89 55 b0             	mov    %edx,-0x50(%ebp)
4886df:	7c 95                	jl     0x488676
4886e1:	ff 15 88 f6 48 00    	call   *0x48f688
4886e7:	e9 4c fb ff ff       	jmp    0x488238
4886ec:	6a 02                	push   $0x2
4886ee:	6a ff                	push   $0xffffffff
4886f0:	68 0c 10 00 00       	push   $0x100c
4886f5:	56                   	push   %esi
4886f6:	8b 35 88 f6 48 00    	mov    0x48f688,%esi
4886fc:	ff d6                	call   *%esi
4886fe:	6a 34                	push   $0x34
488700:	89 03                	mov    %eax,(%ebx)
488702:	33 ff                	xor    %edi,%edi
488704:	8d 45 9c             	lea    -0x64(%ebp),%eax
488707:	57                   	push   %edi
488708:	50                   	push   %eax
488709:	e8 12 a9 f9 ff       	call   0x423020
48870e:	8b 03                	mov    (%ebx),%eax
488710:	83 c4 0c             	add    $0xc,%esp
488713:	89 45 a0             	mov    %eax,-0x60(%ebp)
488716:	8d 45 9c             	lea    -0x64(%ebp),%eax