402547:	0f 8c 83 00 00 00    	jl     0x4025d0
40254d:	8b d7                	mov    %edi,%edx
40254f:	2b d6                	sub    %esi,%edx
402551:	89 14 24             	mov    %edx,(%esp)
402554:	3b 1d 1c 86 6a 00    	cmp    0x6a861c,%ebx
40255a:	75 38                	jne    0x402594
40255c:	8b 04 24             	mov    (%esp),%eax
40255f:	29 05 1c 86 6a 00    	sub    %eax,0x6a861c
402565:	8b 04 24             	mov    (%esp),%eax
402568:	01 05 18 86 6a 00    	add    %eax,0x6a8618
40256e:	83 3d 18 86 6a 00 0c 	cmpl   $0xc,0x6a8618
402575:	0f 8d 4c 01 00 00    	jge    0x4026c7
40257b:	8b 04 24             	mov    (%esp),%eax
40257e:	01 05 1c 86 6a 00    	add    %eax,0x6a861c
402584:	8b 04 24             	mov    (%esp),%eax
402587:	29 05 18 86 6a 00    	sub    %eax,0x6a8618
40258d:	8b f7                	mov    %edi,%esi
40258f:	e9 33 01 00 00       	jmp    0x4026c7
402594:	8b d8                	mov    %eax,%ebx
402596:	f6 03 02             	testb  $0x2,(%ebx)
402599:	75 0d                	jne    0x4025a8
40259b:	8b c3                	mov    %ebx,%eax
40259d:	8b 50 08             	mov    0x8(%eax),%edx
4025a0:	01 14 24             	add    %edx,(%esp)
4025a3:	e8 f4 f6 ff ff       	call   0x401c9c
4025a8:	83 3c 24 0c          	cmpl   $0xc,(%esp)
4025ac:	7c 1b                	jl     0x4025c9
4025ae:	8b dd                	mov    %ebp,%ebx
4025b0:	03 de                	add    %esi,%ebx
4025b2:	8b 04 24             	mov    (%esp),%eax
4025b5:	83 c8 02             	or     $0x2,%eax
4025b8:	89 03                	mov    %eax,(%ebx)
4025ba:	8b c3                	mov    %ebx,%eax
4025bc:	83 c0 04             	add    $0x4,%eax
4025bf:	e8 9c f7 ff ff       	call   0x401d60
4025c4:	e9 fe 00 00 00       	jmp    0x4026c7
4025c9:	8b f7                	mov    %edi,%esi
4025cb:	e9 f7 00 00 00       	jmp    0x4026c7
4025d0:	8b c6                	mov    %esi,%eax
4025d2:	2b c7                	sub    %edi,%eax
4025d4:	89 44 24 04          	mov    %eax,0x4(%esp)
4025d8:	3b 1d 1c 86 6a 00    	cmp    0x6a861c,%ebx
4025de:	75 67                	jne    0x402647
4025e0:	a1 18 86 6a 00       	mov    0x6a8618,%eax
4025e5:	3b 44 24 04          	cmp    0x4(%esp),%eax
4025e9:	7c 53                	jl     0x40263e
4025eb:	8b 44 24 04          	mov    0x4(%esp),%eax
4025ef:	29 05 18 86 6a 00    	sub    %eax,0x6a8618
4025f5:	8b 44 24 04          	mov    0x4(%esp),%eax
4025f9:	01 05 1c 86 6a 00    	add    %eax,0x6a861c
4025ff:	83 3d 18 86 6a 00 0c 	cmpl   $0xc,0x6a8618
402606:	7d 18                	jge    0x402620
402608:	a1 18 86 6a 00       	mov    0x6a8618,%eax
40260d:	01 05 1c 86 6a 00    	add    %eax,0x6a861c
402613:	03 35 18 86 6a 00    	add    0x6a8618,%esi
402619:	33 c0                	xor    %eax,%eax
40261b:	a3 18 86 6a 00       	mov    %eax,0x6a8618
402620:	8b c6                	mov    %esi,%eax
402622:	2b c7                	sub    %edi,%eax
402624:	01 05 b8 85 6a 00    	add    %eax,0x6a85b8
40262a:	8b 45 00             	mov    0x0(%ebp),%eax
40262d:	25 03 00 00 80       	and    $0x80000003,%eax
402632:	0b f0                	or     %eax,%esi
402634:	89 75 00             	mov    %esi,0x0(%ebp)
402637:	b0 01                	mov    $0x1,%al
402639:	e9 a2 00 00 00       	jmp    0x4026e0
40263e:	e8 49 f9 ff ff       	call   0x401f8c
402643:	8b dd                	mov    %ebp,%ebx
402645:	03 df                	add    %edi,%ebx
402647:	f6 03 02             	testb  $0x2,(%ebx)
40264a:	75 4d                	jne    0x402699
40264c:	8b d3                	mov    %ebx,%edx
40264e:	8b c2                	mov    %edx,%eax
402650:	8b 48 08             	mov    0x8(%eax),%ecx
402653:	89 0c 24             	mov    %ecx,(%esp)
402656:	8b 0c 24             	mov    (%esp),%ecx
402659:	3b 4c 24 04          	cmp    0x4(%esp),%ecx
40265d:	7d 0e                	jge    0x40266d
40265f:	03 14 24             	add    (%esp),%edx
402662:	8b da                	mov    %edx,%ebx
402664:	8b 04 24             	mov    (%esp),%eax
402667:	29 44 24 04          	sub    %eax,0x4(%esp)
40266b:	eb 2c                	jmp    0x402699
40266d:	e8 2a f6 ff ff       	call   0x401c9c
402672:	8b 44 24 04          	mov    0x4(%esp),%eax
402676:	29 04 24             	sub    %eax,(%esp)
402679:	83 3c 24 0c          	cmpl   $0xc,(%esp)
40267d:	7c 0e                	jl     0x40268d
40267f:	8b c5                	mov    %ebp,%eax
402681:	03 c6                	add    %esi,%eax
402683:	8b 14 24             	mov    (%esp),%edx
402686:	e8 79 f8 ff ff       	call   0x401f04
40268b:	eb 3a                	jmp    0x4026c7
40268d:	03 34 24             	add    (%esp),%esi
402690:	8b dd                	mov    %ebp,%ebx
402692:	03 de                	add    %esi,%ebx
402694:	83 23 fe             	andl   $0xfffffffe,(%ebx)
402697:	eb 2e                	jmp    0x4026c7
402699:	8b 03                	mov    (%ebx),%eax
40269b:	a9 00 00 00 80       	test   $0x80000000,%eax
4026a0:	74 21                	je     0x4026c3
4026a2:	25 fc ff ff 7f       	and    $0x7ffffffc,%eax
4026a7:	03 c3                	add    %ebx,%eax
4026a9:	8b d8                	mov    %eax,%ebx
4026ab:	8b 54 24 04          	mov    0x4(%esp),%edx
4026af:	8b c3                	mov    %ebx,%eax
4026b1:	e8 da f9 ff ff       	call   0x402090
4026b6:	84 c0                	test   %al,%al
4026b8:	74 09                	je     0x4026c3
4026ba:	8b dd                	mov    %ebp,%ebx
4026bc:	03 df                	add    %edi,%ebx
4026be:	e9 0d ff ff ff       	jmp    0x4025d0
4026c3:	33 c0                	xor    %eax,%eax
4026c5:	eb 19                	jmp    0x4026e0
4026c7:	8b c6                	mov    %esi,%eax
4026c9:	2b c7                	sub    %edi,%eax
4026cb:	01 05 b8 85 6a 00    	add    %eax,0x6a85b8
4026d1:	8b 45 00             	mov    0x0(%ebp),%eax
4026d4:	25 03 00 00 80       	and    $0x80000003,%eax
4026d9:	0b f0                	or     %eax,%esi
4026db:	89 75 00             	mov    %esi,0x0(%ebp)
4026de:	b0 01                	mov    $0x1,%al
4026e0:	59                   	pop    %ecx
4026e1:	5a                   	pop    %edx
4026e2:	5d                   	pop    %ebp
4026e3:	5f                   	pop    %edi
4026e4:	5e                   	pop    %esi
4026e5:	5b                   	pop    %ebx
4026e6:	c3                   	ret
4026e7:	90                   	nop
4026e8:	55                   	push   %ebp
4026e9:	8b ec                	mov    %esp,%ebp
4026eb:	51                   	push   %ecx
4026ec:	53                   	push   %ebx
4026ed:	56                   	push   %esi
4026ee:	57                   	push   %edi
4026ef:	8b f2                	mov    %edx,%esi
4026f1:	8b d8                	mov    %eax,%ebx
4026f3:	80 3d c0 85 6a 00 00 	cmpb   $0x0,0x6a85c0
4026fa:	75 13                	jne    0x40270f
4026fc:	e8 f7 f3 ff ff       	call   0x401af8
402701:	84 c0                	test   %al,%al
402703:	75 0a                	jne    0x40270f
402705:	33 c0                	xor    %eax,%eax
402707:	89 45 fc             	mov    %eax,-0x4(%ebp)
40270a:	e9 91 00 00 00       	jmp    0x4027a0
40270f:	33 d2                	xor    %edx,%edx
402711:	55                   	push   %ebp
402712:	68 99 27 40 00       	push   $0x402799
402717:	64 ff 32             	push   %fs:(%edx)
40271a:	64 89 22             	mov    %esp,%fs:(%edx)
40271d:	80 3d 4d 80 6a 00 00 	cmpb   $0x0,0x6a804d
402724:	74 0a                	je     0x402730
402726:	68 c8 85 6a 00       	push   $0x6a85c8
40272b:	e8 24 ed ff ff       	call   0x401454
402730:	8b d6                	mov    %esi,%edx
402732:	8b c3                	mov    %ebx,%eax
402734:	e8 df fd ff ff       	call   0x402518
402739:	84 c0                	test   %al,%al
40273b:	74 05                	je     0x402742
40273d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402740:	eb 36                	jmp    0x402778
402742:	8b c6                	mov    %esi,%eax
402744:	e8 9b fa ff ff       	call   0x4021e4
402749:	8b f8                	mov    %eax,%edi
40274b:	8b c3                	mov    %ebx,%eax
40274d:	83 e8 04             	sub    $0x4,%eax
402750:	8b 00                	mov    (%eax),%eax
402752:	25 fc ff ff 7f       	and    $0x7ffffffc,%eax
402757:	83 e8 04             	sub    $0x4,%eax
40275a:	3b f0                	cmp    %eax,%esi
40275c:	7d 02                	jge    0x402760
40275e:	8b c6                	mov    %esi,%eax
402760:	85 ff                	test   %edi,%edi
402762:	74 11                	je     0x402775
402764:	8b d7                	mov    %edi,%edx
402766:	8b cb                	mov    %ebx,%ecx
402768:	91                   	xchg   %eax,%ecx
402769:	e8 b2 02 00 00       	call   0x402a20
40276e:	8b c3                	mov    %ebx,%eax
402770:	e8 ff fb ff ff       	call   0x402374
402775:	89 7d fc             	mov    %edi,-0x4(%ebp)
402778:	33 c0                	xor    %eax,%eax
40277a:	5a                   	pop    %edx
40277b:	59                   	pop    %ecx
40277c:	59                   	pop    %ecx
40277d:	64 89 10             	mov    %edx,%fs:(%eax)
402780:	68 a0 27 40 00       	push   $0x4027a0
402785:	80 3d 4d 80 6a 00 00 	cmpb   $0x0,0x6a804d
40278c:	74 0a                	je     0x402798
40278e:	68 c8 85 6a 00       	push   $0x6a85c8
402793:	e8 c4 ec ff ff       	call   0x40145c
402798:	c3                   	ret
402799:	e9 6e 1a 00 00       	jmp    0x40420c
40279e:	eb e5                	jmp    0x402785
4027a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4027a3:	5f                   	pop    %edi
4027a4:	5e                   	pop    %esi
4027a5:	5b                   	pop    %ebx
4027a6:	59                   	pop    %ecx
4027a7:	5d                   	pop    %ebp
4027a8:	c3                   	ret
4027a9:	8d 40 00             	lea    0x0(%eax),%eax
4027ac:	53                   	push   %ebx
4027ad:	85 c0                	test   %eax,%eax
4027af:	7e 15                	jle    0x4027c6
4027b1:	ff 15 30 a0 68 00    	call   *0x68a030
4027b7:	8b d8                	mov    %eax,%ebx
4027b9:	85 db                	test   %ebx,%ebx
4027bb:	75 0b                	jne    0x4027c8
4027bd:	b0 01                	mov    $0x1,%al
4027bf:	e8 44 01 00 00       	call   0x402908
4027c4:	eb 02                	jmp    0x4027c8
4027c6:	33 db                	xor    %ebx,%ebx
4027c8:	8b c3                	mov    %ebx,%eax
4027ca:	5b                   	pop    %ebx
4027cb:	c3                   	ret
4027cc:	53                   	push   %ebx
4027cd:	85 c0                	test   %eax,%eax
4027cf:	74 15                	je     0x4027e6
4027d1:	ff 15 34 a0 68 00    	call   *0x68a034
4027d7:	8b d8                	mov    %eax,%ebx
4027d9:	85 db                	test   %ebx,%ebx
4027db:	74 0b                	je     0x4027e8
4027dd:	b0 02                	mov    $0x2,%al
4027df:	e8 24 01 00 00       	call   0x402908
4027e4:	eb 02                	jmp    0x4027e8
4027e6:	33 db                	xor    %ebx,%ebx
4027e8:	8b c3                	mov    %ebx,%eax
4027ea:	5b                   	pop    %ebx
4027eb:	c3                   	ret
4027ec:	8b 08                	mov    (%eax),%ecx
4027ee:	85 c9                	test   %ecx,%ecx
4027f0:	74 32                	je     0x402824
4027f2:	85 d2                	test   %edx,%edx
4027f4:	74 18                	je     0x40280e
4027f6:	50                   	push   %eax
4027f7:	89 c8                	mov    %ecx,%eax
4027f9:	ff 15 38 a0 68 00    	call   *0x68a038
4027ff:	59                   	pop    %ecx
402800:	09 c0                	or     %eax,%eax
402802:	74 19                	je     0x40281d
402804:	89 01                	mov    %eax,(%ecx)
402806:	c3                   	ret
402807:	b0 02                	mov    $0x2,%al
402809:	e9 fa 00 00 00       	jmp    0x402908
40280e:	89 10                	mov    %edx,(%eax)
402810:	89 c8                	mov    %ecx,%eax
402812:	ff 15 34 a0 68 00    	call   *0x68a034
402818:	09 c0                	or     %eax,%eax
40281a:	75 eb                	jne    0x402807
40281c:	c3                   	ret
40281d:	b0 01                	mov    $0x1,%al
40281f:	e9 e4 00 00 00       	jmp    0x402908
402824:	85 d2                	test   %edx,%edx
402826:	74 10                	je     0x402838
402828:	50                   	push   %eax
402829:	89 d0                	mov    %edx,%eax
40282b:	ff 15 30 a0 68 00    	call   *0x68a030
402831:	59                   	pop    %ecx
402832:	09 c0                	or     %eax,%eax
402834:	74 e7                	je     0x40281d
402836:	89 01                	mov    %eax,(%ecx)
402838:	c3                   	ret
402839:	8d 40 00             	lea    0x0(%eax),%eax
40283c:	e8 87 46 00 00       	call   0x406ec8
402841:	83 b8 00 00 00 00 00 	cmpl   $0x0,0x0(%eax)
402848:	74 0f                	je     0x402859
40284a:	e8 79 46 00 00       	call   0x406ec8
40284f:	8b 80 00 00 00 00    	mov    0x0(%eax),%eax
402855:	8b 40 08             	mov    0x8(%eax),%eax
402858:	c3                   	ret
402859:	33 c0                	xor    %eax,%eax
40285b:	c3                   	ret
40285c:	e8 67 46 00 00       	call   0x406ec8
402861:	83 b8 00 00 00 00 00 	cmpl   $0x0,0x0(%eax)
402868:	74 0f                	je     0x402879
40286a:	e8 59 46 00 00       	call   0x406ec8
40286f:	8b 80 00 00 00 00    	mov    0x0(%eax),%eax
402875:	8b 40 04             	mov    0x4(%eax),%eax
402878:	c3                   	ret
402879:	33 c0                	xor    %eax,%eax
40287b:	c3                   	ret
40287c:	53                   	push   %ebx
40287d:	56                   	push   %esi
40287e:	e8 45 46 00 00       	call   0x406ec8
402883:	83 b8 00 00 00 00 00 	cmpl   $0x0,0x0(%eax)
40288a:	74 1a                	je     0x4028a6
40288c:	e8 37 46 00 00       	call   0x406ec8
402891:	8b b0 00 00 00 00    	mov    0x0(%eax),%esi
402897:	8b 5e 08             	mov    0x8(%esi),%ebx
40289a:	e8 29 46 00 00       	call   0x406ec8
40289f:	33 c0                	xor    %eax,%eax
4028a1:	89 46 08             	mov    %eax,0x8(%esi)
4028a4:	eb 02                	jmp    0x4028a8
4028a6:	33 db                	xor    %ebx,%ebx
4028a8:	8b c3                	mov    %ebx,%eax
4028aa:	5e                   	pop    %esi
4028ab:	5b                   	pop    %ebx
4028ac:	c3                   	ret
4028ad:	8d 40 00             	lea    0x0(%eax),%eax
4028b0:	89 15 04 a0 68 00    	mov    %edx,0x68a004
4028b6:	e8 11 1f 00 00       	call   0x4047cc
4028bb:	c3                   	ret
4028bc:	53                   	push   %ebx
4028bd:	56                   	push   %esi
4028be:	8b f2                	mov    %edx,%esi
4028c0:	8b d8                	mov    %eax,%ebx
4028c2:	80 e3 7f             	and    $0x7f,%bl
4028c5:	83 3d 08 80 6a 00 00 	cmpl   $0x0,0x6a8008
4028cc:	74 0a                	je     0x4028d8
4028ce:	8b d6                	mov    %esi,%edx
4028d0:	8b c3                	mov    %ebx,%eax
4028d2:	ff 15 08 80 6a 00    	call   *0x6a8008
4028d8:	84 db                	test   %bl,%bl
4028da:	75 0d                	jne    0x4028e9
4028dc:	e8 e7 45 00 00       	call   0x406ec8
4028e1:	8b 98 04 00 00 00    	mov    0x4(%eax),%ebx
4028e7:	eb 0f                	jmp    0x4028f8
4028e9:	80 fb 18             	cmp    $0x18,%bl
4028ec:	77 0a                	ja     0x4028f8
4028ee:	33 c0                	xor    %eax,%eax
4028f0:	8a c3                	mov    %bl,%al
4028f2:	8a 98 3c a0 68 00    	mov    0x68a03c(%eax),%bl
4028f8:	33 c0                	xor    %eax,%eax
4028fa:	8a c3                	mov    %bl,%al
4028fc:	8b d6                	mov    %esi,%edx
4028fe:	e8 ad ff ff ff       	call   0x4028b0
402903:	5e                   	pop    %esi
402904:	5b                   	pop    %ebx
402905:	c3                   	ret
402906:	8b c0                	mov    %eax,%eax
402908:	83 e0 7f             	and    $0x7f,%eax
40290b:	8b 14 24             	mov    (%esp),%edx
40290e:	e9 a9 ff ff ff       	jmp    0x4028bc
402913:	c3                   	ret
402914:	50                   	push   %eax
402915:	52                   	push   %edx
402916:	51                   	push   %ecx
402917:	e8 ac 45 00 00       	call   0x406ec8
40291c:	83 b8 04 00 00 00 00 	cmpl   $0x0,0x4(%eax)
402923:	59                   	pop    %ecx
402924:	5a                   	pop    %edx
402925:	58                   	pop    %eax
402926:	75 01                	jne    0x402929
402928:	c3                   	ret
402929:	31 c0                	xor    %eax,%eax
40292b:	e9 d8 ff ff ff       	jmp    0x402908
402930:	c3                   	ret
402931:	8d 40 00             	lea    0x0(%eax),%eax