437418:	e8 5d c9 ff ff       	call   0x433d7a
43741d:	83 c8 ff             	or     $0xffffffff,%eax
437420:	5d                   	pop    %ebp
437421:	c3                   	ret
437422:	8b 40 10             	mov    0x10(%eax),%eax
437425:	5d                   	pop    %ebp
437426:	c3                   	ret
437427:	a1 40 b1 46 00       	mov    0x46b140,%eax
43742c:	56                   	push   %esi
43742d:	6a 03                	push   $0x3
43742f:	5e                   	pop    %esi
437430:	85 c0                	test   %eax,%eax
437432:	75 07                	jne    0x43743b
437434:	b8 00 02 00 00       	mov    $0x200,%eax
437439:	eb 06                	jmp    0x437441
43743b:	3b c6                	cmp    %esi,%eax
43743d:	7d 07                	jge    0x437446
43743f:	8b c6                	mov    %esi,%eax
437441:	a3 40 b1 46 00       	mov    %eax,0x46b140
437446:	6a 04                	push   $0x4
437448:	50                   	push   %eax
437449:	e8 f1 dd ff ff       	call   0x43523f
43744e:	6a 00                	push   $0x0
437450:	a3 44 b1 46 00       	mov    %eax,0x46b144
437455:	e8 c0 dc ff ff       	call   0x43511a
43745a:	83 c4 0c             	add    $0xc,%esp
43745d:	83 3d 44 b1 46 00 00 	cmpl   $0x0,0x46b144
437464:	75 2b                	jne    0x437491
437466:	6a 04                	push   $0x4
437468:	56                   	push   %esi
437469:	89 35 40 b1 46 00    	mov    %esi,0x46b140
43746f:	e8 cb dd ff ff       	call   0x43523f
437474:	6a 00                	push   $0x0
437476:	a3 44 b1 46 00       	mov    %eax,0x46b144
43747b:	e8 9a dc ff ff       	call   0x43511a
437480:	83 c4 0c             	add    $0xc,%esp
437483:	83 3d 44 b1 46 00 00 	cmpl   $0x0,0x46b144
43748a:	75 05                	jne    0x437491
43748c:	83 c8 ff             	or     $0xffffffff,%eax
43748f:	5e                   	pop    %esi
437490:	c3                   	ret
437491:	57                   	push   %edi
437492:	33 ff                	xor    %edi,%edi
437494:	be 28 a1 46 00       	mov    $0x46a128,%esi
437499:	6a 00                	push   $0x0
43749b:	68 a0 0f 00 00       	push   $0xfa0
4374a0:	8d 46 20             	lea    0x20(%esi),%eax
4374a3:	50                   	push   %eax
4374a4:	e8 5e 14 00 00       	call   0x438907
4374a9:	a1 44 b1 46 00       	mov    0x46b144,%eax
4374ae:	8b d7                	mov    %edi,%edx
4374b0:	c1 fa 06             	sar    $0x6,%edx
4374b3:	89 34 b8             	mov    %esi,(%eax,%edi,4)
4374b6:	8b c7                	mov    %edi,%eax
4374b8:	83 e0 3f             	and    $0x3f,%eax
4374bb:	6b c8 30             	imul   $0x30,%eax,%ecx
4374be:	8b 04 95 58 b1 46 00 	mov    0x46b158(,%edx,4),%eax
4374c5:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
4374c9:	83 f8 ff             	cmp    $0xffffffff,%eax
4374cc:	74 09                	je     0x4374d7
4374ce:	83 f8 fe             	cmp    $0xfffffffe,%eax
4374d1:	74 04                	je     0x4374d7
4374d3:	85 c0                	test   %eax,%eax
4374d5:	75 07                	jne    0x4374de
4374d7:	c7 46 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%esi)
4374de:	83 c6 38             	add    $0x38,%esi
4374e1:	47                   	inc    %edi
4374e2:	81 fe d0 a1 46 00    	cmp    $0x46a1d0,%esi
4374e8:	75 af                	jne    0x437499
4374ea:	5f                   	pop    %edi
4374eb:	33 c0                	xor    %eax,%eax
4374ed:	5e                   	pop    %esi
4374ee:	c3                   	ret
4374ef:	8b ff                	mov    %edi,%edi
4374f1:	56                   	push   %esi
4374f2:	e8 d1 48 00 00       	call   0x43bdc8
4374f7:	e8 7f 47 00 00       	call   0x43bc7b
4374fc:	33 f6                	xor    %esi,%esi
4374fe:	a1 44 b1 46 00       	mov    0x46b144,%eax
437503:	ff 34 06             	push   (%esi,%eax,1)
437506:	e8 9e 49 00 00       	call   0x43bea9
43750b:	a1 44 b1 46 00       	mov    0x46b144,%eax
437510:	59                   	pop    %ecx
437511:	8b 04 06             	mov    (%esi,%eax,1),%eax
437514:	83 c0 20             	add    $0x20,%eax
437517:	50                   	push   %eax
437518:	ff 15 8c b1 44 00    	call   *0x44b18c
43751e:	83 c6 04             	add    $0x4,%esi
437521:	83 fe 0c             	cmp    $0xc,%esi
437524:	75 d8                	jne    0x4374fe
437526:	ff 35 44 b1 46 00    	push   0x46b144
43752c:	e8 e9 db ff ff       	call   0x43511a
437531:	83 25 44 b1 46 00 00 	andl   $0x0,0x46b144
437538:	59                   	pop    %ecx
437539:	5e                   	pop    %esi
43753a:	c3                   	ret
43753b:	8b ff                	mov    %edi,%edi
43753d:	55                   	push   %ebp
43753e:	8b ec                	mov    %esp,%ebp
437540:	8b 45 08             	mov    0x8(%ebp),%eax
437543:	83 c0 20             	add    $0x20,%eax
437546:	50                   	push   %eax
437547:	ff 15 b4 b1 44 00    	call   *0x44b1b4
43754d:	5d                   	pop    %ebp
43754e:	c3                   	ret
43754f:	8b ff                	mov    %edi,%edi
437551:	55                   	push   %ebp
437552:	8b ec                	mov    %esp,%ebp
437554:	8b 45 08             	mov    0x8(%ebp),%eax
437557:	83 c0 20             	add    $0x20,%eax
43755a:	50                   	push   %eax
43755b:	ff 15 b8 b1 44 00    	call   *0x44b1b8
437561:	5d                   	pop    %ebp
437562:	c3                   	ret
437563:	8b 0d 08 a0 46 00    	mov    0x46a008,%ecx
437569:	33 c0                	xor    %eax,%eax
43756b:	83 c9 01             	or     $0x1,%ecx
43756e:	39 0d 48 b1 46 00    	cmp    %ecx,0x46b148
437574:	0f 94 c0             	sete   %al
437577:	c3                   	ret
437578:	8b ff                	mov    %edi,%edi
43757a:	55                   	push   %ebp
43757b:	8b ec                	mov    %esp,%ebp
43757d:	83 ec 48             	sub    $0x48,%esp
437580:	8d 45 b8             	lea    -0x48(%ebp),%eax
437583:	50                   	push   %eax
437584:	ff 15 08 b3 44 00    	call   *0x44b308
43758a:	66 83 7d ea 00       	cmpw   $0x0,-0x16(%ebp)
43758f:	0f 84 95 00 00 00    	je     0x43762a
437595:	8b 45 ec             	mov    -0x14(%ebp),%eax
437598:	85 c0                	test   %eax,%eax
43759a:	0f 84 8a 00 00 00    	je     0x43762a
4375a0:	53                   	push   %ebx
4375a1:	56                   	push   %esi
4375a2:	8b 30                	mov    (%eax),%esi
4375a4:	8d 58 04             	lea    0x4(%eax),%ebx
4375a7:	8d 04 33             	lea    (%ebx,%esi,1),%eax
4375aa:	89 45 fc             	mov    %eax,-0x4(%ebp)
4375ad:	b8 00 20 00 00       	mov    $0x2000,%eax
4375b2:	3b f0                	cmp    %eax,%esi
4375b4:	7c 02                	jl     0x4375b8
4375b6:	8b f0                	mov    %eax,%esi
4375b8:	56                   	push   %esi
4375b9:	e8 21 16 00 00       	call   0x438bdf
4375be:	a1 58 b3 46 00       	mov    0x46b358,%eax
4375c3:	59                   	pop    %ecx
4375c4:	3b f0                	cmp    %eax,%esi
4375c6:	7e 02                	jle    0x4375ca
4375c8:	8b f0                	mov    %eax,%esi
4375ca:	57                   	push   %edi
4375cb:	33 ff                	xor    %edi,%edi
4375cd:	85 f6                	test   %esi,%esi
4375cf:	74 56                	je     0x437627
4375d1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4375d4:	8b 08                	mov    (%eax),%ecx
4375d6:	83 f9 ff             	cmp    $0xffffffff,%ecx
4375d9:	74 40                	je     0x43761b
4375db:	83 f9 fe             	cmp    $0xfffffffe,%ecx
4375de:	74 3b                	je     0x43761b
4375e0:	8a 13                	mov    (%ebx),%dl
4375e2:	f6 c2 01             	test   $0x1,%dl
4375e5:	74 34                	je     0x43761b
4375e7:	f6 c2 08             	test   $0x8,%dl
4375ea:	75 0b                	jne    0x4375f7
4375ec:	51                   	push   %ecx
4375ed:	ff 15 d0 b2 44 00    	call   *0x44b2d0
4375f3:	85 c0                	test   %eax,%eax
4375f5:	74 21                	je     0x437618
4375f7:	8b c7                	mov    %edi,%eax
4375f9:	8b cf                	mov    %edi,%ecx
4375fb:	83 e0 3f             	and    $0x3f,%eax
4375fe:	c1 f9 06             	sar    $0x6,%ecx
437601:	6b d0 30             	imul   $0x30,%eax,%edx
437604:	8b 45 fc             	mov    -0x4(%ebp),%eax
437607:	03 14 8d 58 b1 46 00 	add    0x46b158(,%ecx,4),%edx
43760e:	8b 00                	mov    (%eax),%eax
437610:	89 42 18             	mov    %eax,0x18(%edx)
437613:	8a 03                	mov    (%ebx),%al
437615:	88 42 28             	mov    %al,0x28(%edx)
437618:	8b 45 fc             	mov    -0x4(%ebp),%eax
43761b:	47                   	inc    %edi
43761c:	83 c0 04             	add    $0x4,%eax
43761f:	43                   	inc    %ebx
437620:	89 45 fc             	mov    %eax,-0x4(%ebp)
437623:	3b fe                	cmp    %esi,%edi
437625:	75 ad                	jne    0x4375d4
437627:	5f                   	pop    %edi
437628:	5e                   	pop    %esi
437629:	5b                   	pop    %ebx
43762a:	8b e5                	mov    %ebp,%esp
43762c:	5d                   	pop    %ebp
43762d:	c3                   	ret
43762e:	8b ff                	mov    %edi,%edi
437630:	53                   	push   %ebx
437631:	56                   	push   %esi
437632:	57                   	push   %edi
437633:	33 ff                	xor    %edi,%edi
437635:	8b c7                	mov    %edi,%eax
437637:	8b cf                	mov    %edi,%ecx
437639:	83 e0 3f             	and    $0x3f,%eax
43763c:	c1 f9 06             	sar    $0x6,%ecx
43763f:	6b f0 30             	imul   $0x30,%eax,%esi
437642:	03 34 8d 58 b1 46 00 	add    0x46b158(,%ecx,4),%esi
437649:	83 7e 18 ff          	cmpl   $0xffffffff,0x18(%esi)
43764d:	74 0c                	je     0x43765b
43764f:	83 7e 18 fe          	cmpl   $0xfffffffe,0x18(%esi)
437653:	74 06                	je     0x43765b
437655:	80 4e 28 80          	orb    $0x80,0x28(%esi)
437659:	eb 7b                	jmp    0x4376d6
43765b:	8b c7                	mov    %edi,%eax
43765d:	c6 46 28 81          	movb   $0x81,0x28(%esi)
437661:	83 e8 00             	sub    $0x0,%eax
437664:	74 10                	je     0x437676
437666:	83 e8 01             	sub    $0x1,%eax
437669:	74 07                	je     0x437672
43766b:	6a f4                	push   $0xfffffff4
43766d:	83 e8 01             	sub    $0x1,%eax
437670:	eb 06                	jmp    0x437678
437672:	6a f5                	push   $0xfffffff5
437674:	eb 02                	jmp    0x437678
437676:	6a f6                	push   $0xfffffff6
437678:	58                   	pop    %eax
437679:	50                   	push   %eax
43767a:	ff 15 dc b2 44 00    	call   *0x44b2dc
437680:	8b d8                	mov    %eax,%ebx
437682:	83 fb ff             	cmp    $0xffffffff,%ebx
437685:	74 0d                	je     0x437694
437687:	85 db                	test   %ebx,%ebx
437689:	74 09                	je     0x437694
43768b:	53                   	push   %ebx
43768c:	ff 15 d0 b2 44 00    	call   *0x44b2d0
437692:	eb 02                	jmp    0x437696
437694:	33 c0                	xor    %eax,%eax
437696:	85 c0                	test   %eax,%eax
437698:	74 1e                	je     0x4376b8
43769a:	25 ff 00 00 00       	and    $0xff,%eax
43769f:	89 5e 18             	mov    %ebx,0x18(%esi)
4376a2:	83 f8 02             	cmp    $0x2,%eax
4376a5:	75 06                	jne    0x4376ad
4376a7:	80 4e 28 40          	orb    $0x40,0x28(%esi)
4376ab:	eb 29                	jmp    0x4376d6
4376ad:	83 f8 03             	cmp    $0x3,%eax
4376b0:	75 24                	jne    0x4376d6
4376b2:	80 4e 28 08          	orb    $0x8,0x28(%esi)
4376b6:	eb 1e                	jmp    0x4376d6
4376b8:	80 4e 28 40          	orb    $0x40,0x28(%esi)
4376bc:	c7 46 18 fe ff ff ff 	movl   $0xfffffffe,0x18(%esi)
4376c3:	a1 44 b1 46 00       	mov    0x46b144,%eax
4376c8:	85 c0                	test   %eax,%eax
4376ca:	74 0a                	je     0x4376d6
4376cc:	8b 04 b8             	mov    (%eax,%edi,4),%eax
4376cf:	c7 40 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%eax)
4376d6:	47                   	inc    %edi
4376d7:	83 ff 03             	cmp    $0x3,%edi
4376da:	0f 85 55 ff ff ff    	jne    0x437635
4376e0:	5f                   	pop    %edi
4376e1:	5e                   	pop    %esi
4376e2:	5b                   	pop    %ebx
4376e3:	c3                   	ret
4376e4:	6a 0c                	push   $0xc
4376e6:	68 40 7e 46 00       	push   $0x467e40
4376eb:	e8 40 71 ff ff       	call   0x42e830
4376f0:	6a 07                	push   $0x7
4376f2:	e8 3f 0f 00 00       	call   0x438636
4376f7:	59                   	pop    %ecx
4376f8:	33 db                	xor    %ebx,%ebx
4376fa:	88 5d e7             	mov    %bl,-0x19(%ebp)
4376fd:	89 5d fc             	mov    %ebx,-0x4(%ebp)
437700:	53                   	push   %ebx
437701:	e8 d9 14 00 00       	call   0x438bdf
437706:	59                   	pop    %ecx
437707:	85 c0                	test   %eax,%eax
437709:	75 0f                	jne    0x43771a
43770b:	e8 68 fe ff ff       	call   0x437578
437710:	e8 19 ff ff ff       	call   0x43762e
437715:	b3 01                	mov    $0x1,%bl
437717:	88 5d e7             	mov    %bl,-0x19(%ebp)
43771a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
437721:	e8 0b 00 00 00       	call   0x437731
437726:	8a c3                	mov    %bl,%al
437728:	e8 49 71 ff ff       	call   0x42e876
43772d:	c3                   	ret
43772e:	8a 5d e7             	mov    -0x19(%ebp),%bl
437731:	6a 07                	push   $0x7
437733:	e8 46 0f 00 00       	call   0x43867e
437738:	59                   	pop    %ecx
437739:	c3                   	ret
43773a:	8b ff                	mov    %edi,%edi
43773c:	56                   	push   %esi
43773d:	33 f6                	xor    %esi,%esi
43773f:	8b 86 58 b1 46 00    	mov    0x46b158(%esi),%eax
437745:	85 c0                	test   %eax,%eax
437747:	74 0e                	je     0x437757
437749:	50                   	push   %eax
43774a:	e8 5b 14 00 00       	call   0x438baa
43774f:	83 a6 58 b1 46 00 00 	andl   $0x0,0x46b158(%esi)
437756:	59                   	pop    %ecx
437757:	83 c6 04             	add    $0x4,%esi
43775a:	81 fe 00 02 00 00    	cmp    $0x200,%esi
437760:	72 dd                	jb     0x43773f
437762:	b0 01                	mov    $0x1,%al
437764:	5e                   	pop    %esi
437765:	c3                   	ret
437766:	8b ff                	mov    %edi,%edi
437768:	55                   	push   %ebp
437769:	8b ec                	mov    %esp,%ebp
43776b:	8b 55 08             	mov    0x8(%ebp),%edx
43776e:	56                   	push   %esi
43776f:	85 d2                	test   %edx,%edx
437771:	74 13                	je     0x437786
437773:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437776:	85 c9                	test   %ecx,%ecx
437778:	74 0c                	je     0x437786
43777a:	8b 75 10             	mov    0x10(%ebp),%esi
43777d:	85 f6                	test   %esi,%esi
43777f:	75 19                	jne    0x43779a
437781:	33 c0                	xor    %eax,%eax
437783:	66 89 02             	mov    %ax,(%edx)
437786:	e8 ab c6 ff ff       	call   0x433e36
43778b:	6a 16                	push   $0x16
43778d:	5e                   	pop    %esi
43778e:	89 30                	mov    %esi,(%eax)
437790:	e8 e5 c5 ff ff       	call   0x433d7a
437795:	8b c6                	mov    %esi,%eax
437797:	5e                   	pop    %esi
437798:	5d                   	pop    %ebp
437799:	c3                   	ret
43779a:	57                   	push   %edi
43779b:	8b fa                	mov    %edx,%edi
43779d:	2b f2                	sub    %edx,%esi
43779f:	0f b7 04 3e          	movzwl (%esi,%edi,1),%eax
4377a3:	66 89 07             	mov    %ax,(%edi)
4377a6:	8d 7f 02             	lea    0x2(%edi),%edi
4377a9:	66 85 c0             	test   %ax,%ax
4377ac:	74 05                	je     0x4377b3
4377ae:	83 e9 01             	sub    $0x1,%ecx
4377b1:	75 ec                	jne    0x43779f
4377b3:	5f                   	pop    %edi
4377b4:	85 c9                	test   %ecx,%ecx
4377b6:	75 0e                	jne    0x4377c6
4377b8:	33 c0                	xor    %eax,%eax
4377ba:	66 89 02             	mov    %ax,(%edx)
4377bd:	e8 74 c6 ff ff       	call   0x433e36
4377c2:	6a 22                	push   $0x22
4377c4:	eb c7                	jmp    0x43778d
4377c6:	33 f6                	xor    %esi,%esi
4377c8:	eb cb                	jmp    0x437795
4377ca:	8b ff                	mov    %edi,%edi
4377cc:	55                   	push   %ebp
4377cd:	8b ec                	mov    %esp,%ebp