48144c:	81 c1 02 10 00 00    	add    $0x1002,%ecx
481452:	51                   	push   %ecx
481453:	56                   	push   %esi
481454:	ff 15 e0 40 49 00    	call   *0x4940e0
48145a:	85 c0                	test   %eax,%eax
48145c:	75 0b                	jne    0x481469
48145e:	83 27 00             	andl   $0x0,(%edi)
481461:	33 c0                	xor    %eax,%eax
481463:	40                   	inc    %eax
481464:	e9 d4 01 00 00       	jmp    0x48163d
481469:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
48146f:	50                   	push   %eax
481470:	ff 73 54             	push   0x54(%ebx)
481473:	e8 8f 5c fe ff       	call   0x467107
481478:	83 a5 08 ff ff ff 00 	andl   $0x0,-0xf8(%ebp)
48147f:	59                   	pop    %ecx
481480:	59                   	pop    %ecx
481481:	85 c0                	test   %eax,%eax
481483:	0f 85 ad 00 00 00    	jne    0x481536
481489:	6a 78                	push   $0x78
48148b:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
481491:	50                   	push   %eax
481492:	8b 43 60             	mov    0x60(%ebx),%eax
481495:	f7 d8                	neg    %eax
481497:	1b c0                	sbb    %eax,%eax
481499:	25 02 f0 ff ff       	and    $0xfffff002,%eax
48149e:	05 01 10 00 00       	add    $0x1001,%eax
4814a3:	50                   	push   %eax
4814a4:	56                   	push   %esi
4814a5:	ff 15 e0 40 49 00    	call   *0x4940e0
4814ab:	85 c0                	test   %eax,%eax
4814ad:	74 af                	je     0x48145e
4814af:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4814b5:	50                   	push   %eax
4814b6:	ff 73 50             	push   0x50(%ebx)
4814b9:	e8 49 5c fe ff       	call   0x467107
4814be:	59                   	pop    %ecx
4814bf:	59                   	pop    %ecx
4814c0:	85 c0                	test   %eax,%eax
4814c2:	75 0b                	jne    0x4814cf
4814c4:	81 0f 04 03 00 00    	orl    $0x304,(%edi)
4814ca:	89 77 04             	mov    %esi,0x4(%edi)
4814cd:	eb 64                	jmp    0x481533
4814cf:	f6 07 02             	testb  $0x2,(%edi)
4814d2:	75 62                	jne    0x481536
4814d4:	83 7b 5c 00          	cmpl   $0x0,0x5c(%ebx)
4814d8:	74 42                	je     0x48151c
4814da:	ff 73 5c             	push   0x5c(%ebx)
4814dd:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4814e3:	50                   	push   %eax
4814e4:	ff 73 50             	push   0x50(%ebx)
4814e7:	e8 60 1c 00 00       	call   0x48314c
4814ec:	83 c4 0c             	add    $0xc,%esp
4814ef:	85 c0                	test   %eax,%eax
4814f1:	75 29                	jne    0x48151c
4814f3:	83 0f 02             	orl    $0x2,(%edi)
4814f6:	89 77 08             	mov    %esi,0x8(%edi)
4814f9:	8b 4b 50             	mov    0x50(%ebx),%ecx
4814fc:	8d 51 02             	lea    0x2(%ecx),%edx
4814ff:	66 8b 01             	mov    (%ecx),%ax
481502:	83 c1 02             	add    $0x2,%ecx
481505:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
48150c:	75 f1                	jne    0x4814ff
48150e:	2b ca                	sub    %edx,%ecx
481510:	d1 f9                	sar    $1,%ecx
481512:	3b 4b 5c             	cmp    0x5c(%ebx),%ecx
481515:	75 1f                	jne    0x481536
481517:	89 77 04             	mov    %esi,0x4(%edi)
48151a:	eb 1a                	jmp    0x481536
48151c:	8b 17                	mov    (%edi),%edx
48151e:	f6 c2 01             	test   $0x1,%dl
481521:	75 13                	jne    0x481536
481523:	56                   	push   %esi
481524:	e8 33 03 00 00       	call   0x48185c
481529:	59                   	pop    %ecx
48152a:	85 c0                	test   %eax,%eax
48152c:	74 08                	je     0x481536
48152e:	83 ca 01             	or     $0x1,%edx
481531:	89 17                	mov    %edx,(%edi)
481533:	89 77 08             	mov    %esi,0x8(%edi)
481536:	8b 07                	mov    (%edi),%eax
481538:	b9 00 03 00 00       	mov    $0x300,%ecx
48153d:	23 c1                	and    %ecx,%eax
48153f:	3b c1                	cmp    %ecx,%eax
481541:	0f 84 ec 00 00 00    	je     0x481633
481547:	8b 4b 60             	mov    0x60(%ebx),%ecx
48154a:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
481550:	f7 d9                	neg    %ecx
481552:	6a 78                	push   $0x78
481554:	1b c9                	sbb    %ecx,%ecx
481556:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
48155c:	50                   	push   %eax
48155d:	81 c1 01 10 00 00    	add    $0x1001,%ecx
481563:	51                   	push   %ecx
481564:	56                   	push   %esi
481565:	ff 15 e0 40 49 00    	call   *0x4940e0
48156b:	85 c0                	test   %eax,%eax
48156d:	75 07                	jne    0x481576
48156f:	89 07                	mov    %eax,(%edi)
481571:	e9 eb fe ff ff       	jmp    0x481461
481576:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
48157c:	50                   	push   %eax
48157d:	ff 73 50             	push   0x50(%ebx)
481580:	e8 82 5b fe ff       	call   0x467107
481585:	59                   	pop    %ecx
481586:	59                   	pop    %ecx
481587:	85 c0                	test   %eax,%eax
481589:	75 68                	jne    0x4815f3
48158b:	81 0f 00 02 00 00    	orl    $0x200,(%edi)
481591:	8b 17                	mov    (%edi),%edx
481593:	39 43 60             	cmp    %eax,0x60(%ebx)
481596:	74 10                	je     0x4815a8
481598:	81 ca 00 01 00 00    	or     $0x100,%edx
48159e:	89 17                	mov    %edx,(%edi)
4815a0:	39 47 04             	cmp    %eax,0x4(%edi)
4815a3:	e9 86 00 00 00       	jmp    0x48162e
4815a8:	39 43 5c             	cmp    %eax,0x5c(%ebx)
4815ab:	74 eb                	je     0x481598
4815ad:	8b 4b 50             	mov    0x50(%ebx),%ecx
4815b0:	8d 41 02             	lea    0x2(%ecx),%eax
4815b3:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
4815b9:	66 8b 01             	mov    (%ecx),%ax
4815bc:	83 c1 02             	add    $0x2,%ecx
4815bf:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
4815c6:	75 f1                	jne    0x4815b9
4815c8:	2b 8d 04 ff ff ff    	sub    -0xfc(%ebp),%ecx
4815ce:	d1 f9                	sar    $1,%ecx
4815d0:	3b 4b 5c             	cmp    0x5c(%ebx),%ecx
4815d3:	75 1a                	jne    0x4815ef
4815d5:	57                   	push   %edi
4815d6:	6a 01                	push   $0x1
4815d8:	56                   	push   %esi
4815d9:	e8 a2 02 00 00       	call   0x481880
4815de:	83 c4 0c             	add    $0xc,%esp
4815e1:	85 c0                	test   %eax,%eax
4815e3:	74 4e                	je     0x481633
4815e5:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
4815eb:	33 c0                	xor    %eax,%eax
4815ed:	eb b1                	jmp    0x4815a0
4815ef:	33 c0                	xor    %eax,%eax
4815f1:	eb a5                	jmp    0x481598
4815f3:	33 c0                	xor    %eax,%eax
4815f5:	39 43 60             	cmp    %eax,0x60(%ebx)
4815f8:	75 39                	jne    0x481633
4815fa:	39 43 5c             	cmp    %eax,0x5c(%ebx)
4815fd:	74 34                	je     0x481633
4815ff:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
481605:	50                   	push   %eax
481606:	ff 73 50             	push   0x50(%ebx)
481609:	e8 f9 5a fe ff       	call   0x467107
48160e:	59                   	pop    %ecx
48160f:	59                   	pop    %ecx
481610:	85 c0                	test   %eax,%eax
481612:	75 1f                	jne    0x481633
481614:	57                   	push   %edi
481615:	33 db                	xor    %ebx,%ebx
481617:	53                   	push   %ebx
481618:	56                   	push   %esi
481619:	e8 62 02 00 00       	call   0x481880
48161e:	83 c4 0c             	add    $0xc,%esp
481621:	85 c0                	test   %eax,%eax
481623:	74 0e                	je     0x481633
481625:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
48162b:	39 5f 04             	cmp    %ebx,0x4(%edi)
48162e:	75 03                	jne    0x481633
481630:	89 77 04             	mov    %esi,0x4(%edi)
481633:	8b 07                	mov    (%edi),%eax
481635:	c1 e8 02             	shr    $0x2,%eax
481638:	f7 d0                	not    %eax
48163a:	83 e0 01             	and    $0x1,%eax
48163d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
481640:	5f                   	pop    %edi
481641:	5e                   	pop    %esi
481642:	33 cd                	xor    %ebp,%ecx
481644:	5b                   	pop    %ebx
481645:	e8 b8 e3 fb ff       	call   0x43fa02
48164a:	8b e5                	mov    %ebp,%esp
48164c:	5d                   	pop    %ebp
48164d:	c2 04 00             	ret    $0x4
481650:	8b ff                	mov    %edi,%edi
481652:	55                   	push   %ebp
481653:	8b ec                	mov    %esp,%ebp
481655:	81 ec f4 00 00 00    	sub    $0xf4,%esp
48165b:	a1 94 80 4b 00       	mov    0x4b8094,%eax
481660:	33 c5                	xor    %ebp,%eax
481662:	89 45 fc             	mov    %eax,-0x4(%ebp)
481665:	53                   	push   %ebx
481666:	56                   	push   %esi
481667:	8b 75 08             	mov    0x8(%ebp),%esi
48166a:	57                   	push   %edi
48166b:	e8 90 09 ff ff       	call   0x472000
481670:	8b d8                	mov    %eax,%ebx
481672:	e8 89 09 ff ff       	call   0x472000
481677:	56                   	push   %esi
481678:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
48167e:	e8 a5 00 00 00       	call   0x481728
481683:	59                   	pop    %ecx
481684:	8b 4b 60             	mov    0x60(%ebx),%ecx
481687:	8b f0                	mov    %eax,%esi
481689:	f7 d9                	neg    %ecx
48168b:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
481691:	6a 78                	push   $0x78
481693:	1b c9                	sbb    %ecx,%ecx
481695:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
48169b:	50                   	push   %eax
48169c:	81 c1 01 10 00 00    	add    $0x1001,%ecx
4816a2:	51                   	push   %ecx
4816a3:	56                   	push   %esi
4816a4:	ff 15 e0 40 49 00    	call   *0x4940e0
4816aa:	85 c0                	test   %eax,%eax
4816ac:	75 05                	jne    0x4816b3
4816ae:	21 07                	and    %eax,(%edi)
4816b0:	40                   	inc    %eax
4816b1:	eb 62                	jmp    0x481715
4816b3:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4816b9:	50                   	push   %eax
4816ba:	ff 73 50             	push   0x50(%ebx)
4816bd:	e8 45 5a fe ff       	call   0x467107
4816c2:	59                   	pop    %ecx
4816c3:	59                   	pop    %ecx
4816c4:	85 c0                	test   %eax,%eax
4816c6:	75 0a                	jne    0x4816d2
4816c8:	39 43 60             	cmp    %eax,0x60(%ebx)
4816cb:	75 35                	jne    0x481702
4816cd:	57                   	push   %edi
4816ce:	6a 01                	push   $0x1
4816d0:	eb 23                	jmp    0x4816f5
4816d2:	83 7b 60 00          	cmpl   $0x0,0x60(%ebx)
4816d6:	75 33                	jne    0x48170b
4816d8:	83 7b 5c 00          	cmpl   $0x0,0x5c(%ebx)
4816dc:	74 2d                	je     0x48170b
4816de:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4816e4:	50                   	push   %eax
4816e5:	ff 73 50             	push   0x50(%ebx)
4816e8:	e8 1a 5a fe ff       	call   0x467107
4816ed:	59                   	pop    %ecx
4816ee:	59                   	pop    %ecx
4816ef:	85 c0                	test   %eax,%eax
4816f1:	75 18                	jne    0x48170b
4816f3:	57                   	push   %edi
4816f4:	50                   	push   %eax
4816f5:	56                   	push   %esi
4816f6:	e8 85 01 00 00       	call   0x481880
4816fb:	83 c4 0c             	add    $0xc,%esp
4816fe:	85 c0                	test   %eax,%eax
481700:	74 09                	je     0x48170b
481702:	83 0f 04             	orl    $0x4,(%edi)
481705:	89 77 04             	mov    %esi,0x4(%edi)
481708:	89 77 08             	mov    %esi,0x8(%edi)
48170b:	8b 07                	mov    (%edi),%eax
48170d:	c1 e8 02             	shr    $0x2,%eax
481710:	f7 d0                	not    %eax
481712:	83 e0 01             	and    $0x1,%eax
481715:	8b 4d fc             	mov    -0x4(%ebp),%ecx
481718:	5f                   	pop    %edi
481719:	5e                   	pop    %esi
48171a:	33 cd                	xor    %ebp,%ecx
48171c:	5b                   	pop    %ebx
48171d:	e8 e0 e2 fb ff       	call   0x43fa02
481722:	8b e5                	mov    %ebp,%esp
481724:	5d                   	pop    %ebp
481725:	c2 04 00             	ret    $0x4
481728:	8b ff                	mov    %edi,%edi
48172a:	55                   	push   %ebp
48172b:	8b ec                	mov    %esp,%ebp
48172d:	8b 55 08             	mov    0x8(%ebp),%edx
481730:	56                   	push   %esi
481731:	33 f6                	xor    %esi,%esi
481733:	0f b7 0a             	movzwl (%edx),%ecx
481736:	66 85 c9             	test   %cx,%cx
481739:	74 39                	je     0x481774
48173b:	57                   	push   %edi
48173c:	6a 05                	push   $0x5
48173e:	5f                   	pop    %edi
48173f:	8d 41 9f             	lea    -0x61(%ecx),%eax
481742:	8d 52 02             	lea    0x2(%edx),%edx
481745:	66 3b c7             	cmp    %di,%ax
481748:	77 08                	ja     0x481752
48174a:	81 c1 d9 ff 00 00    	add    $0xffd9,%ecx
481750:	eb 0e                	jmp    0x481760
481752:	8d 41 bf             	lea    -0x41(%ecx),%eax
481755:	66 3b c7             	cmp    %di,%ax
481758:	77 06                	ja     0x481760
48175a:	81 c1 f9 ff 00 00    	add    $0xfff9,%ecx
481760:	0f b7 c9             	movzwl %cx,%ecx
481763:	83 c1 d0             	add    $0xffffffd0,%ecx
481766:	c1 e6 04             	shl    $0x4,%esi
481769:	03 f1                	add    %ecx,%esi
48176b:	0f b7 0a             	movzwl (%edx),%ecx
48176e:	66 85 c9             	test   %cx,%cx
481771:	75 cc                	jne    0x48173f
481773:	5f                   	pop    %edi
481774:	8b c6                	mov    %esi,%eax
481776:	5e                   	pop    %esi
481777:	5d                   	pop    %ebp
481778:	c3                   	ret
481779:	8b ff                	mov    %edi,%edi
48177b:	55                   	push   %ebp
48177c:	8b ec                	mov    %esp,%ebp
48177e:	51                   	push   %ecx
48177f:	8b 4d 08             	mov    0x8(%ebp),%ecx
481782:	56                   	push   %esi
481783:	57                   	push   %edi
481784:	85 c9                	test   %ecx,%ecx
481786:	0f 84 9e 00 00 00    	je     0x48182a
48178c:	33 c0                	xor    %eax,%eax
48178e:	66 39 01             	cmp    %ax,(%ecx)
481791:	0f 84 93 00 00 00    	je     0x48182a
481797:	be 50 fc 49 00       	mov    $0x49fc50,%esi
48179c:	8b d1                	mov    %ecx,%edx
48179e:	66 8b 3a             	mov    (%edx),%di
4817a1:	66 3b 3e             	cmp    (%esi),%di
4817a4:	75 1e                	jne    0x4817c4
4817a6:	66 85 ff             	test   %di,%di
4817a9:	74 15                	je     0x4817c0
4817ab:	66 8b 7a 02          	mov    0x2(%edx),%di
4817af:	66 3b 7e 02          	cmp    0x2(%esi),%di
4817b3:	75 0f                	jne    0x4817c4
4817b5:	83 c2 04             	add    $0x4,%edx
4817b8:	83 c6 04             	add    $0x4,%esi
4817bb:	66 85 ff             	test   %di,%di
4817be:	75 de                	jne    0x48179e
4817c0:	8b d0                	mov    %eax,%edx
4817c2:	eb 05                	jmp    0x4817c9
4817c4:	1b d2                	sbb    %edx,%edx
4817c6:	83 ca 01             	or     $0x1,%edx
4817c9:	85 d2                	test   %edx,%edx
4817cb:	74 5d                	je     0x48182a
4817cd:	be 58 fc 49 00       	mov    $0x49fc58,%esi
4817d2:	8b d1                	mov    %ecx,%edx
4817d4:	66 8b 3a             	mov    (%edx),%di
4817d7:	66 3b 3e             	cmp    (%esi),%di
4817da:	75 1c                	jne    0x4817f8
4817dc:	66 85 ff             	test   %di,%di
4817df:	74 1c                	je     0x4817fd
4817e1:	66 8b 7a 02          	mov    0x2(%edx),%di
4817e5:	66 3b 7e 02          	cmp    0x2(%esi),%di
4817e9:	75 0d                	jne    0x4817f8
4817eb:	83 c2 04             	add    $0x4,%edx
4817ee:	83 c6 04             	add    $0x4,%esi
4817f1:	66 85 ff             	test   %di,%di
4817f4:	75 de                	jne    0x4817d4
4817f6:	eb 05                	jmp    0x4817fd
4817f8:	1b c0                	sbb    %eax,%eax
4817fa:	83 c8 01             	or     $0x1,%eax
4817fd:	85 c0                	test   %eax,%eax
4817ff:	75 20                	jne    0x481821
481801:	6a 02                	push   $0x2
481803:	8d 45 fc             	lea    -0x4(%ebp),%eax
481806:	50                   	push   %eax