4612e3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4612e6:	0f b7 40 08          	movzwl 0x8(%eax),%eax
4612ea:	2b d0                	sub    %eax,%edx
4612ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
4612ef:	e8 68 01 00 00       	call   0x46145c
4612f4:	e9 e1 00 00 00       	jmp    0x4613da
4612f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4612fc:	8b 50 0c             	mov    0xc(%eax),%edx
4612ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
461302:	0f b7 40 08          	movzwl 0x8(%eax),%eax
461306:	03 d0                	add    %eax,%edx
461308:	8b 45 fc             	mov    -0x4(%ebp),%eax
46130b:	e8 4c 01 00 00       	call   0x46145c
461310:	e9 c5 00 00 00       	jmp    0x4613da
461315:	33 c9                	xor    %ecx,%ecx
461317:	b2 01                	mov    $0x1,%dl
461319:	8b 45 fc             	mov    -0x4(%ebp),%eax
46131c:	e8 d3 fc ff ff       	call   0x460ff4
461321:	8b 55 fc             	mov    -0x4(%ebp),%edx
461324:	8b 52 0c             	mov    0xc(%edx),%edx
461327:	2b d0                	sub    %eax,%edx
461329:	8b 45 fc             	mov    -0x4(%ebp),%eax
46132c:	e8 2b 01 00 00       	call   0x46145c
461331:	e9 a4 00 00 00       	jmp    0x4613da
461336:	33 c9                	xor    %ecx,%ecx
461338:	b2 01                	mov    $0x1,%dl
46133a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46133d:	e8 b2 fc ff ff       	call   0x460ff4
461342:	8b d0                	mov    %eax,%edx
461344:	8b 45 fc             	mov    -0x4(%ebp),%eax
461347:	03 50 0c             	add    0xc(%eax),%edx
46134a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46134d:	e8 0a 01 00 00       	call   0x46145c
461352:	e9 83 00 00 00       	jmp    0x4613da
461357:	8b 45 fc             	mov    -0x4(%ebp),%eax
46135a:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
461361:	7e 13                	jle    0x461376
461363:	55                   	push   %ebp
461364:	e8 23 fd ff ff       	call   0x46108c
461369:	59                   	pop    %ecx
46136a:	8b d0                	mov    %eax,%edx
46136c:	8b 45 fc             	mov    -0x4(%ebp),%eax
46136f:	e8 e8 00 00 00       	call   0x46145c
461374:	eb 64                	jmp    0x4613da
461376:	8b 55 f8             	mov    -0x8(%ebp),%edx
461379:	0f bf 52 06          	movswl 0x6(%edx),%edx
46137d:	8b 45 fc             	mov    -0x4(%ebp),%eax
461380:	e8 d7 00 00 00       	call   0x46145c
461385:	eb 53                	jmp    0x4613da
461387:	8b 45 fc             	mov    -0x4(%ebp),%eax
46138a:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
46138e:	74 4a                	je     0x4613da
461390:	8b 45 fc             	mov    -0x4(%ebp),%eax
461393:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
46139a:	7e 13                	jle    0x4613af
46139c:	55                   	push   %ebp
46139d:	e8 ea fc ff ff       	call   0x46108c
4613a2:	59                   	pop    %ecx
4613a3:	8b d0                	mov    %eax,%edx
4613a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4613a8:	e8 af 00 00 00       	call   0x46145c
4613ad:	eb 2b                	jmp    0x4613da
4613af:	8b 55 f8             	mov    -0x8(%ebp),%edx
4613b2:	0f bf 52 06          	movswl 0x6(%edx),%edx
4613b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4613b9:	e8 9e 00 00 00       	call   0x46145c
4613be:	eb 1a                	jmp    0x4613da
4613c0:	33 d2                	xor    %edx,%edx
4613c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4613c5:	e8 92 00 00 00       	call   0x46145c
4613ca:	eb 0e                	jmp    0x4613da
4613cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4613cf:	8b 50 14             	mov    0x14(%eax),%edx
4613d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4613d5:	e8 82 00 00 00       	call   0x46145c
4613da:	5f                   	pop    %edi
4613db:	5e                   	pop    %esi
4613dc:	5b                   	pop    %ebx
4613dd:	8b e5                	mov    %ebp,%esp
4613df:	5d                   	pop    %ebp
4613e0:	c3                   	ret
4613e1:	8d 40 00             	lea    0x0(%eax),%eax
4613e4:	53                   	push   %ebx
4613e5:	56                   	push   %esi
4613e6:	8b d8                	mov    %eax,%ebx
4613e8:	3b 53 24             	cmp    0x24(%ebx),%edx
4613eb:	74 36                	je     0x461423
4613ed:	8b f2                	mov    %edx,%esi
4613ef:	85 f6                	test   %esi,%esi
4613f1:	75 18                	jne    0x46140b
4613f3:	33 c0                	xor    %eax,%eax
4613f5:	8a 43 18             	mov    0x18(%ebx),%al
4613f8:	8b 04 85 d8 ad 68 00 	mov    0x68add8(,%eax,4),%eax
4613ff:	50                   	push   %eax
461400:	a1 04 6e 6a 00       	mov    0x6a6e04,%eax
461405:	8b 00                	mov    (%eax),%eax
461407:	ff d0                	call   *%eax
461409:	8b d0                	mov    %eax,%edx
46140b:	89 53 24             	mov    %edx,0x24(%ebx)
46140e:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
461412:	8b 43 04             	mov    0x4(%ebx),%eax
461415:	e8 aa 06 00 00       	call   0x461ac4
46141a:	85 f6                	test   %esi,%esi
46141c:	75 05                	jne    0x461423
46141e:	33 c0                	xor    %eax,%eax
461420:	89 43 24             	mov    %eax,0x24(%ebx)
461423:	5e                   	pop    %esi
461424:	5b                   	pop    %ebx
461425:	c3                   	ret
461426:	8b c0                	mov    %eax,%eax
461428:	3b 50 28             	cmp    0x28(%eax),%edx
46142b:	74 13                	je     0x461440
46142d:	89 50 28             	mov    %edx,0x28(%eax)
461430:	c6 40 2c 00          	movb   $0x0,0x2c(%eax)
461434:	c6 40 44 01          	movb   $0x1,0x44(%eax)
461438:	8b 40 04             	mov    0x4(%eax),%eax
46143b:	e8 84 06 00 00       	call   0x461ac4
461440:	c3                   	ret
461441:	8d 40 00             	lea    0x0(%eax),%eax
461444:	3a 50 2c             	cmp    0x2c(%eax),%dl
461447:	74 11                	je     0x46145a
461449:	88 50 2c             	mov    %dl,0x2c(%eax)
46144c:	84 d2                	test   %dl,%dl
46144e:	74 0a                	je     0x46145a
461450:	ba 14 00 00 80       	mov    $0x80000014,%edx
461455:	e8 ce ff ff ff       	call   0x461428
46145a:	c3                   	ret
46145b:	90                   	nop
46145c:	53                   	push   %ebx
46145d:	56                   	push   %esi
46145e:	57                   	push   %edi
46145f:	8b d8                	mov    %eax,%ebx
461461:	8b 43 04             	mov    0x4(%ebx),%eax
461464:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)
461468:	74 08                	je     0x461472
46146a:	89 53 0c             	mov    %edx,0xc(%ebx)
46146d:	e9 a7 00 00 00       	jmp    0x461519
461472:	8b 43 14             	mov    0x14(%ebx),%eax
461475:	3b d0                	cmp    %eax,%edx
461477:	7e 04                	jle    0x46147d
461479:	8b d0                	mov    %eax,%edx
46147b:	eb 06                	jmp    0x461483
46147d:	85 d2                	test   %edx,%edx
46147f:	7d 02                	jge    0x461483
461481:	33 d2                	xor    %edx,%edx
461483:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
461487:	75 04                	jne    0x46148d
461489:	33 f6                	xor    %esi,%esi
46148b:	eb 04                	jmp    0x461491
46148d:	66 be 01 00          	mov    $0x1,%si
461491:	8b 43 0c             	mov    0xc(%ebx),%eax
461494:	3b d0                	cmp    %eax,%edx
461496:	74 4d                	je     0x4614e5
461498:	89 53 0c             	mov    %edx,0xc(%ebx)
46149b:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
46149f:	75 10                	jne    0x4614b1
4614a1:	2b c2                	sub    %edx,%eax
4614a3:	8b d0                	mov    %eax,%edx
4614a5:	33 c9                	xor    %ecx,%ecx
4614a7:	8b 43 04             	mov    0x4(%ebx),%eax
4614aa:	e8 65 d6 fe ff       	call   0x44eb14
4614af:	eb 0e                	jmp    0x4614bf
4614b1:	8b c8                	mov    %eax,%ecx
4614b3:	2b ca                	sub    %edx,%ecx
4614b5:	8b 43 04             	mov    0x4(%ebx),%eax
4614b8:	33 d2                	xor    %edx,%edx
4614ba:	e8 55 d6 fe ff       	call   0x44eb14
4614bf:	8b 43 04             	mov    0x4(%ebx),%eax
4614c2:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
4614c6:	74 1d                	je     0x4614e5
4614c8:	e8 ff f6 ff ff       	call   0x460bcc
4614cd:	85 c0                	test   %eax,%eax
4614cf:	74 14                	je     0x4614e5
4614d1:	83 b8 50 02 00 00 00 	cmpl   $0x0,0x250(%eax)
4614d8:	74 0b                	je     0x4614e5
4614da:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
4614e0:	8b 10                	mov    (%eax),%edx
4614e2:	ff 52 0c             	call   *0xc(%edx)
4614e5:	0f b7 fe             	movzwl %si,%edi
4614e8:	57                   	push   %edi
4614e9:	8b 43 04             	mov    0x4(%ebx),%eax
4614ec:	e8 63 da fe ff       	call   0x44ef54
4614f1:	50                   	push   %eax
4614f2:	a1 90 6e 6a 00       	mov    0x6a6e90,%eax
4614f7:	8b 00                	mov    (%eax),%eax
4614f9:	ff d0                	call   *%eax
4614fb:	3b 43 0c             	cmp    0xc(%ebx),%eax
4614fe:	74 19                	je     0x461519
461500:	6a ff                	push   $0xffffffff
461502:	8b 43 0c             	mov    0xc(%ebx),%eax
461505:	50                   	push   %eax
461506:	57                   	push   %edi
461507:	8b 43 04             	mov    0x4(%ebx),%eax
46150a:	e8 45 da fe ff       	call   0x44ef54
46150f:	50                   	push   %eax
461510:	a1 44 72 6a 00       	mov    0x6a7244,%eax
461515:	8b 00                	mov    (%eax),%eax
461517:	ff d0                	call   *%eax
461519:	5f                   	pop    %edi
46151a:	5e                   	pop    %esi
46151b:	5b                   	pop    %ebx
46151c:	c3                   	ret
46151d:	8d 40 00             	lea    0x0(%eax),%eax
461520:	53                   	push   %ebx
461521:	56                   	push   %esi
461522:	8b d8                	mov    %eax,%ebx
461524:	3b 53 30             	cmp    0x30(%ebx),%edx
461527:	74 36                	je     0x46155f
461529:	8b f2                	mov    %edx,%esi
46152b:	85 f6                	test   %esi,%esi
46152d:	75 18                	jne    0x461547
46152f:	33 c0                	xor    %eax,%eax
461531:	8a 43 18             	mov    0x18(%ebx),%al
461534:	8b 04 85 e0 ad 68 00 	mov    0x68ade0(,%eax,4),%eax
46153b:	50                   	push   %eax
46153c:	a1 04 6e 6a 00       	mov    0x6a6e04,%eax
461541:	8b 00                	mov    (%eax),%eax
461543:	ff d0                	call   *%eax
461545:	8b d0                	mov    %eax,%edx
461547:	89 53 30             	mov    %edx,0x30(%ebx)
46154a:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
46154e:	8b 43 04             	mov    0x4(%ebx),%eax
461551:	e8 6e 05 00 00       	call   0x461ac4
461556:	85 f6                	test   %esi,%esi
461558:	75 05                	jne    0x46155f
46155a:	33 c0                	xor    %eax,%eax
46155c:	89 43 30             	mov    %eax,0x30(%ebx)
46155f:	5e                   	pop    %esi
461560:	5b                   	pop    %ebx
461561:	c3                   	ret
461562:	8b c0                	mov    %eax,%eax
461564:	3a 50 34             	cmp    0x34(%eax),%dl
461567:	74 0f                	je     0x461578
461569:	88 50 34             	mov    %dl,0x34(%eax)
46156c:	c6 40 44 01          	movb   $0x1,0x44(%eax)
461570:	8b 40 04             	mov    0x4(%eax),%eax
461573:	e8 4c 05 00 00       	call   0x461ac4
461578:	c3                   	ret
461579:	8d 40 00             	lea    0x0(%eax),%eax
46157c:	3b 50 38             	cmp    0x38(%eax),%edx
46157f:	74 0f                	je     0x461590
461581:	89 50 38             	mov    %edx,0x38(%eax)
461584:	c6 40 44 01          	movb   $0x1,0x44(%eax)
461588:	8b 40 04             	mov    0x4(%eax),%eax
46158b:	e8 34 05 00 00       	call   0x461ac4
461590:	c3                   	ret
461591:	8d 40 00             	lea    0x0(%eax),%eax
461594:	8b ca                	mov    %edx,%ecx
461596:	89 48 10             	mov    %ecx,0x10(%eax)
461599:	85 c9                	test   %ecx,%ecx
46159b:	7d 05                	jge    0x4615a2
46159d:	33 d2                	xor    %edx,%edx
46159f:	89 50 10             	mov    %edx,0x10(%eax)
4615a2:	8b 40 04             	mov    0x4(%eax),%eax
4615a5:	e8 1a 05 00 00       	call   0x461ac4
4615aa:	c3                   	ret
4615ab:	90                   	nop
4615ac:	8b 48 04             	mov    0x4(%eax),%ecx
4615af:	c6 81 10 02 00 00 00 	movb   $0x0,0x210(%ecx)
4615b6:	c6 40 1e 01          	movb   $0x1,0x1e(%eax)
4615ba:	e8 d5 ff ff ff       	call   0x461594
4615bf:	c3                   	ret
4615c0:	8b 40 04             	mov    0x4(%eax),%eax
4615c3:	8a 80 10 02 00 00    	mov    0x210(%eax),%al
4615c9:	34 01                	xor    $0x1,%al
4615cb:	c3                   	ret
4615cc:	88 50 1c             	mov    %dl,0x1c(%eax)
4615cf:	8b 40 04             	mov    0x4(%eax),%eax
4615d2:	e8 ed 04 00 00       	call   0x461ac4
4615d7:	c3                   	ret
4615d8:	55                   	push   %ebp
4615d9:	8b ec                	mov    %esp,%ebp
4615db:	53                   	push   %ebx
4615dc:	56                   	push   %esi
4615dd:	8b d8                	mov    %eax,%ebx
4615df:	8b 75 08             	mov    0x8(%ebp),%esi
4615e2:	83 c6 fc             	add    $0xfffffffc,%esi
4615e5:	80 fb 01             	cmp    $0x1,%bl
4615e8:	f5                   	cmc
4615e9:	1b c0                	sbb    %eax,%eax
4615eb:	50                   	push   %eax
4615ec:	8b 06                	mov    (%esi),%eax
4615ee:	0f b6 40 34          	movzbl 0x34(%eax),%eax
4615f2:	8b 04 85 10 ae 68 00 	mov    0x68ae10(,%eax,4),%eax
4615f9:	50                   	push   %eax
4615fa:	8b 06                	mov    (%esi),%eax
4615fc:	0f b6 40 18          	movzbl 0x18(%eax),%eax
461600:	8d 04 80             	lea    (%eax,%eax,4),%eax
461603:	8b 04 85 e8 ad 68 00 	mov    0x68ade8(,%eax,4),%eax
46160a:	50                   	push   %eax
46160b:	8b 06                	mov    (%esi),%eax
46160d:	8b 40 04             	mov    0x4(%eax),%eax
461610:	e8 3f d9 fe ff       	call   0x44ef54
461615:	50                   	push   %eax
461616:	e8 99 19 fd ff       	call   0x432fb4
46161b:	8b 06                	mov    (%esi),%eax
46161d:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
461621:	7e 29                	jle    0x46164c
461623:	6a 00                	push   $0x0
461625:	8b 06                	mov    (%esi),%eax
461627:	8b 40 24             	mov    0x24(%eax),%eax
46162a:	50                   	push   %eax
46162b:	8b 06                	mov    (%esi),%eax
46162d:	0f b6 40 18          	movzbl 0x18(%eax),%eax
461631:	8d 04 80             	lea    (%eax,%eax,4),%eax
461634:	8b 04 85 ec ad 68 00 	mov    0x68adec(,%eax,4),%eax
46163b:	50                   	push   %eax
46163c:	8b 06                	mov    (%esi),%eax
46163e:	8b 40 04             	mov    0x4(%eax),%eax
461641:	e8 0e d9 fe ff       	call   0x44ef54
461646:	50                   	push   %eax
461647:	e8 68 19 fd ff       	call   0x432fb4
46164c:	8b 06                	mov    (%esi),%eax
46164e:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
461652:	7e 29                	jle    0x46167d
461654:	6a 00                	push   $0x0
461656:	8b 06                	mov    (%esi),%eax
461658:	8b 40 38             	mov    0x38(%eax),%eax
46165b:	50                   	push   %eax
46165c:	8b 06                	mov    (%esi),%eax
46165e:	0f b6 40 18          	movzbl 0x18(%eax),%eax
461662:	8d 04 80             	lea    (%eax,%eax,4),%eax
461665:	8b 04 85 f0 ad 68 00 	mov    0x68adf0(,%eax,4),%eax
46166c:	50                   	push   %eax
46166d:	8b 06                	mov    (%esi),%eax
46166f:	8b 40 04             	mov    0x4(%eax),%eax
461672:	e8 dd d8 fe ff       	call   0x44ef54
461677:	50                   	push   %eax
461678:	e8 37 19 fd ff       	call   0x432fb4
46167d:	8b 06                	mov    (%esi),%eax
46167f:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
461683:	7e 29                	jle    0x4616ae
461685:	6a 00                	push   $0x0
461687:	8b 06                	mov    (%esi),%eax
461689:	8b 40 30             	mov    0x30(%eax),%eax
46168c:	50                   	push   %eax
46168d:	8b 06                	mov    (%esi),%eax
46168f:	0f b6 40 18          	movzbl 0x18(%eax),%eax
461693:	8d 04 80             	lea    (%eax,%eax,4),%eax
461696:	8b 04 85 f4 ad 68 00 	mov    0x68adf4(,%eax,4),%eax
46169d:	50                   	push   %eax
46169e:	8b 06                	mov    (%esi),%eax
4616a0:	8b 40 04             	mov    0x4(%eax),%eax
4616a3:	e8 ac d8 fe ff       	call   0x44ef54
4616a8:	50                   	push   %eax
4616a9:	e8 06 19 fd ff       	call   0x432fb4
4616ae:	6a 00                	push   $0x0
4616b0:	8b 06                	mov    (%esi),%eax
4616b2:	8b 40 28             	mov    0x28(%eax),%eax
4616b5:	e8 1e 5f fc ff       	call   0x4275d8