4022fc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4022ff:	33 c0                	xor    %eax,%eax
402301:	5a                   	pop    %edx
402302:	59                   	pop    %ecx
402303:	59                   	pop    %ecx
402304:	64 89 10             	mov    %edx,%fs:(%eax)
402307:	68 27 23 40 00       	push   $0x402327
40230c:	80 3d 4d c0 49 00 00 	cmpb   $0x0,0x49c04d
402313:	74 0a                	je     0x40231f
402315:	68 cc c5 49 00       	push   $0x49c5cc
40231a:	e8 fd f0 ff ff       	call   0x40141c
40231f:	c3                   	ret
402320:	e9 43 18 00 00       	jmp    0x403b68
402325:	eb e5                	jmp    0x40230c
402327:	8b 45 fc             	mov    -0x4(%ebp),%eax
40232a:	5f                   	pop    %edi
40232b:	5e                   	pop    %esi
40232c:	5b                   	pop    %ebx
40232d:	59                   	pop    %ecx
40232e:	59                   	pop    %ecx
40232f:	5d                   	pop    %ebp
402330:	c3                   	ret
402331:	8d 40 00             	lea    0x0(%eax),%eax
402334:	55                   	push   %ebp
402335:	8b ec                	mov    %esp,%ebp
402337:	51                   	push   %ecx
402338:	53                   	push   %ebx
402339:	56                   	push   %esi
40233a:	57                   	push   %edi
40233b:	8b d8                	mov    %eax,%ebx
40233d:	33 c0                	xor    %eax,%eax
40233f:	a3 c8 c5 49 00       	mov    %eax,0x49c5c8
402344:	80 3d c4 c5 49 00 00 	cmpb   $0x0,0x49c5c4
40234b:	75 1f                	jne    0x40236c
40234d:	e8 66 f7 ff ff       	call   0x401ab8
402352:	84 c0                	test   %al,%al
402354:	75 16                	jne    0x40236c
402356:	c7 05 c8 c5 49 00 08 	movl   $0x8,0x49c5c8
40235d:	00 00 00
402360:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
402367:	e9 61 01 00 00       	jmp    0x4024cd
40236c:	33 c9                	xor    %ecx,%ecx
40236e:	55                   	push   %ebp
40236f:	68 c6 24 40 00       	push   $0x4024c6
402374:	64 ff 31             	push   %fs:(%ecx)
402377:	64 89 21             	mov    %esp,%fs:(%ecx)
40237a:	80 3d 4d c0 49 00 00 	cmpb   $0x0,0x49c04d
402381:	74 0a                	je     0x40238d
402383:	68 cc c5 49 00       	push   $0x49c5cc
402388:	e8 87 f0 ff ff       	call   0x401414
40238d:	8b f3                	mov    %ebx,%esi
40238f:	83 ee 04             	sub    $0x4,%esi
402392:	8b 1e                	mov    (%esi),%ebx
402394:	f6 c3 02             	test   $0x2,%bl
402397:	75 0f                	jne    0x4023a8
402399:	c7 05 c8 c5 49 00 09 	movl   $0x9,0x49c5c8
4023a0:	00 00 00
4023a3:	e9 f5 00 00 00       	jmp    0x40249d
4023a8:	ff 0d b4 c5 49 00    	decl   0x49c5b4
4023ae:	8b c3                	mov    %ebx,%eax
4023b0:	25 fc ff ff 7f       	and    $0x7ffffffc,%eax
4023b5:	83 e8 04             	sub    $0x4,%eax
4023b8:	29 05 b8 c5 49 00    	sub    %eax,0x49c5b8
4023be:	f6 c3 01             	test   $0x1,%bl
4023c1:	74 45                	je     0x402408
4023c3:	8b c6                	mov    %esi,%eax
4023c5:	83 e8 0c             	sub    $0xc,%eax
4023c8:	8b 50 08             	mov    0x8(%eax),%edx
4023cb:	83 fa 0c             	cmp    $0xc,%edx
4023ce:	7c 08                	jl     0x4023d8
4023d0:	f7 c2 03 00 00 80    	test   $0x80000003,%edx
4023d6:	74 0f                	je     0x4023e7
4023d8:	c7 05 c8 c5 49 00 0a 	movl   $0xa,0x49c5c8
4023df:	00 00 00
4023e2:	e9 b6 00 00 00       	jmp    0x40249d
4023e7:	8b c6                	mov    %esi,%eax
4023e9:	2b c2                	sub    %edx,%eax
4023eb:	3b 50 08             	cmp    0x8(%eax),%edx
4023ee:	74 0f                	je     0x4023ff
4023f0:	c7 05 c8 c5 49 00 0a 	movl   $0xa,0x49c5c8
4023f7:	00 00 00
4023fa:	e9 9e 00 00 00       	jmp    0x40249d
4023ff:	03 da                	add    %edx,%ebx
402401:	8b f0                	mov    %eax,%esi
402403:	e8 54 f8 ff ff       	call   0x401c5c
402408:	81 e3 fc ff ff 7f    	and    $0x7ffffffc,%ebx
40240e:	8b c6                	mov    %esi,%eax
402410:	03 c3                	add    %ebx,%eax
402412:	8b f8                	mov    %eax,%edi
402414:	3b 3d 20 c6 49 00    	cmp    0x49c620,%edi
40241a:	75 2c                	jne    0x402448
40241c:	29 1d 20 c6 49 00    	sub    %ebx,0x49c620
402422:	01 1d 1c c6 49 00    	add    %ebx,0x49c61c
402428:	81 3d 1c c6 49 00 00 	cmpl   $0x3c00,0x49c61c
40242f:	3c 00 00
402432:	7e 05                	jle    0x402439
402434:	e8 13 fb ff ff       	call   0x401f4c
402439:	33 c0                	xor    %eax,%eax
40243b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40243e:	e8 09 18 00 00       	call   0x403c4c
402443:	e9 85 00 00 00       	jmp    0x4024cd
402448:	8b 10                	mov    (%eax),%edx
40244a:	f6 c2 02             	test   $0x2,%dl
40244d:	74 1c                	je     0x40246b
40244f:	81 e2 fc ff ff 7f    	and    $0x7ffffffc,%edx
402455:	83 fa 04             	cmp    $0x4,%edx
402458:	7d 0c                	jge    0x402466
40245a:	c7 05 c8 c5 49 00 0b 	movl   $0xb,0x49c5c8
402461:	00 00 00
402464:	eb 37                	jmp    0x40249d
402466:	83 08 01             	orl    $0x1,(%eax)
402469:	eb 29                	jmp    0x402494
40246b:	8b c7                	mov    %edi,%eax
40246d:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
402471:	74 0b                	je     0x40247e
402473:	83 38 00             	cmpl   $0x0,(%eax)
402476:	74 06                	je     0x40247e
402478:	83 78 08 0c          	cmpl   $0xc,0x8(%eax)
40247c:	7d 0c                	jge    0x40248a
40247e:	c7 05 c8 c5 49 00 0b 	movl   $0xb,0x49c5c8
402485:	00 00 00
402488:	eb 13                	jmp    0x40249d
40248a:	8b 50 08             	mov    0x8(%eax),%edx
40248d:	03 da                	add    %edx,%ebx
40248f:	e8 c8 f7 ff ff       	call   0x401c5c
402494:	8b d3                	mov    %ebx,%edx
402496:	8b c6                	mov    %esi,%eax
402498:	e8 27 fa ff ff       	call   0x401ec4
40249d:	a1 c8 c5 49 00       	mov    0x49c5c8,%eax
4024a2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4024a5:	33 c0                	xor    %eax,%eax
4024a7:	5a                   	pop    %edx
4024a8:	59                   	pop    %ecx
4024a9:	59                   	pop    %ecx
4024aa:	64 89 10             	mov    %edx,%fs:(%eax)
4024ad:	68 cd 24 40 00       	push   $0x4024cd
4024b2:	80 3d 4d c0 49 00 00 	cmpb   $0x0,0x49c04d
4024b9:	74 0a                	je     0x4024c5
4024bb:	68 cc c5 49 00       	push   $0x49c5cc
4024c0:	e8 57 ef ff ff       	call   0x40141c
4024c5:	c3                   	ret
4024c6:	e9 9d 16 00 00       	jmp    0x403b68
4024cb:	eb e5                	jmp    0x4024b2
4024cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4024d0:	5f                   	pop    %edi
4024d1:	5e                   	pop    %esi
4024d2:	5b                   	pop    %ebx
4024d3:	59                   	pop    %ecx
4024d4:	5d                   	pop    %ebp
4024d5:	c3                   	ret
4024d6:	8b c0                	mov    %eax,%eax
4024d8:	53                   	push   %ebx
4024d9:	56                   	push   %esi
4024da:	57                   	push   %edi
4024db:	55                   	push   %ebp
4024dc:	83 c4 f8             	add    $0xfffffff8,%esp
4024df:	8b f2                	mov    %edx,%esi
4024e1:	83 c6 07             	add    $0x7,%esi
4024e4:	83 e6 fc             	and    $0xfffffffc,%esi
4024e7:	83 fe 0c             	cmp    $0xc,%esi
4024ea:	7d 05                	jge    0x4024f1
4024ec:	be 0c 00 00 00       	mov    $0xc,%esi
4024f1:	8b e8                	mov    %eax,%ebp
4024f3:	83 ed 04             	sub    $0x4,%ebp
4024f6:	8b 7d 00             	mov    0x0(%ebp),%edi
4024f9:	81 e7 fc ff ff 7f    	and    $0x7ffffffc,%edi
4024ff:	8b c5                	mov    %ebp,%eax
402501:	03 c7                	add    %edi,%eax
402503:	8b d8                	mov    %eax,%ebx
402505:	3b fe                	cmp    %esi,%edi
402507:	75 07                	jne    0x402510
402509:	b0 01                	mov    $0x1,%al
40250b:	e9 9b 01 00 00       	jmp    0x4026ab
402510:	3b fe                	cmp    %esi,%edi
402512:	0f 8e 83 00 00 00    	jle    0x40259b
402518:	8b d7                	mov    %edi,%edx
40251a:	2b d6                	sub    %esi,%edx
40251c:	89 14 24             	mov    %edx,(%esp)
40251f:	3b 1d 20 c6 49 00    	cmp    0x49c620,%ebx
402525:	75 38                	jne    0x40255f
402527:	8b 04 24             	mov    (%esp),%eax
40252a:	29 05 20 c6 49 00    	sub    %eax,0x49c620
402530:	8b 04 24             	mov    (%esp),%eax
402533:	01 05 1c c6 49 00    	add    %eax,0x49c61c
402539:	83 3d 1c c6 49 00 0c 	cmpl   $0xc,0x49c61c
402540:	0f 8d 4c 01 00 00    	jge    0x402692
402546:	8b 04 24             	mov    (%esp),%eax
402549:	01 05 20 c6 49 00    	add    %eax,0x49c620
40254f:	8b 04 24             	mov    (%esp),%eax
402552:	29 05 1c c6 49 00    	sub    %eax,0x49c61c
402558:	8b f7                	mov    %edi,%esi
40255a:	e9 33 01 00 00       	jmp    0x402692
40255f:	8b d8                	mov    %eax,%ebx
402561:	f6 03 02             	testb  $0x2,(%ebx)
402564:	75 0d                	jne    0x402573
402566:	8b c3                	mov    %ebx,%eax
402568:	8b 50 08             	mov    0x8(%eax),%edx
40256b:	01 14 24             	add    %edx,(%esp)
40256e:	e8 e9 f6 ff ff       	call   0x401c5c
402573:	83 3c 24 0c          	cmpl   $0xc,(%esp)
402577:	7c 1b                	jl     0x402594
402579:	8b dd                	mov    %ebp,%ebx
40257b:	03 de                	add    %esi,%ebx
40257d:	8b 04 24             	mov    (%esp),%eax
402580:	83 c8 02             	or     $0x2,%eax
402583:	89 03                	mov    %eax,(%ebx)
402585:	8b c3                	mov    %ebx,%eax
402587:	83 c0 04             	add    $0x4,%eax
40258a:	e8 91 f7 ff ff       	call   0x401d20
40258f:	e9 fe 00 00 00       	jmp    0x402692
402594:	8b f7                	mov    %edi,%esi
402596:	e9 f7 00 00 00       	jmp    0x402692
40259b:	8b c6                	mov    %esi,%eax
40259d:	2b c7                	sub    %edi,%eax
40259f:	89 44 24 04          	mov    %eax,0x4(%esp)
4025a3:	3b 1d 20 c6 49 00    	cmp    0x49c620,%ebx
4025a9:	75 67                	jne    0x402612
4025ab:	a1 1c c6 49 00       	mov    0x49c61c,%eax
4025b0:	3b 44 24 04          	cmp    0x4(%esp),%eax
4025b4:	7c 53                	jl     0x402609
4025b6:	8b 44 24 04          	mov    0x4(%esp),%eax
4025ba:	29 05 1c c6 49 00    	sub    %eax,0x49c61c
4025c0:	8b 44 24 04          	mov    0x4(%esp),%eax
4025c4:	01 05 20 c6 49 00    	add    %eax,0x49c620
4025ca:	83 3d 1c c6 49 00 0c 	cmpl   $0xc,0x49c61c
4025d1:	7d 18                	jge    0x4025eb
4025d3:	a1 1c c6 49 00       	mov    0x49c61c,%eax
4025d8:	01 05 20 c6 49 00    	add    %eax,0x49c620
4025de:	03 35 1c c6 49 00    	add    0x49c61c,%esi
4025e4:	33 c0                	xor    %eax,%eax
4025e6:	a3 1c c6 49 00       	mov    %eax,0x49c61c
4025eb:	8b c6                	mov    %esi,%eax
4025ed:	2b c7                	sub    %edi,%eax
4025ef:	01 05 b8 c5 49 00    	add    %eax,0x49c5b8
4025f5:	8b 45 00             	mov    0x0(%ebp),%eax
4025f8:	25 03 00 00 80       	and    $0x80000003,%eax
4025fd:	0b f0                	or     %eax,%esi
4025ff:	89 75 00             	mov    %esi,0x0(%ebp)
402602:	b0 01                	mov    $0x1,%al
402604:	e9 a2 00 00 00       	jmp    0x4026ab
402609:	e8 3e f9 ff ff       	call   0x401f4c
40260e:	8b dd                	mov    %ebp,%ebx
402610:	03 df                	add    %edi,%ebx
402612:	f6 03 02             	testb  $0x2,(%ebx)
402615:	75 4d                	jne    0x402664
402617:	8b d3                	mov    %ebx,%edx
402619:	8b c2                	mov    %edx,%eax
40261b:	8b 48 08             	mov    0x8(%eax),%ecx
40261e:	89 0c 24             	mov    %ecx,(%esp)
402621:	8b 0c 24             	mov    (%esp),%ecx
402624:	3b 4c 24 04          	cmp    0x4(%esp),%ecx
402628:	7d 0e                	jge    0x402638
40262a:	03 14 24             	add    (%esp),%edx
40262d:	8b da                	mov    %edx,%ebx
40262f:	8b 04 24             	mov    (%esp),%eax
402632:	29 44 24 04          	sub    %eax,0x4(%esp)
402636:	eb 2c                	jmp    0x402664
402638:	e8 1f f6 ff ff       	call   0x401c5c
40263d:	8b 44 24 04          	mov    0x4(%esp),%eax
402641:	29 04 24             	sub    %eax,(%esp)
402644:	83 3c 24 0c          	cmpl   $0xc,(%esp)
402648:	7c 0e                	jl     0x402658
40264a:	8b c5                	mov    %ebp,%eax
40264c:	03 c6                	add    %esi,%eax
40264e:	8b 14 24             	mov    (%esp),%edx
402651:	e8 6e f8 ff ff       	call   0x401ec4
402656:	eb 3a                	jmp    0x402692
402658:	03 34 24             	add    (%esp),%esi
40265b:	8b dd                	mov    %ebp,%ebx
40265d:	03 de                	add    %esi,%ebx
40265f:	83 23 fe             	andl   $0xfffffffe,(%ebx)
402662:	eb 2e                	jmp    0x402692
402664:	8b 03                	mov    (%ebx),%eax
402666:	a9 00 00 00 80       	test   $0x80000000,%eax
40266b:	74 21                	je     0x40268e
40266d:	25 fc ff ff 7f       	and    $0x7ffffffc,%eax
402672:	03 c3                	add    %ebx,%eax
402674:	8b d8                	mov    %eax,%ebx
402676:	8b 54 24 04          	mov    0x4(%esp),%edx
40267a:	8b c3                	mov    %ebx,%eax
40267c:	e8 cf f9 ff ff       	call   0x402050
402681:	84 c0                	test   %al,%al
402683:	74 09                	je     0x40268e
402685:	8b dd                	mov    %ebp,%ebx
402687:	03 df                	add    %edi,%ebx
402689:	e9 0d ff ff ff       	jmp    0x40259b
40268e:	33 c0                	xor    %eax,%eax
402690:	eb 19                	jmp    0x4026ab
402692:	8b c6                	mov    %esi,%eax
402694:	2b c7                	sub    %edi,%eax
402696:	01 05 b8 c5 49 00    	add    %eax,0x49c5b8
40269c:	8b 45 00             	mov    0x0(%ebp),%eax
40269f:	25 03 00 00 80       	and    $0x80000003,%eax
4026a4:	0b f0                	or     %eax,%esi
4026a6:	89 75 00             	mov    %esi,0x0(%ebp)
4026a9:	b0 01                	mov    $0x1,%al
4026ab:	59                   	pop    %ecx
4026ac:	5a                   	pop    %edx
4026ad:	5d                   	pop    %ebp
4026ae:	5f                   	pop    %edi
4026af:	5e                   	pop    %esi
4026b0:	5b                   	pop    %ebx
4026b1:	c3                   	ret
4026b2:	8b c0                	mov    %eax,%eax
4026b4:	55                   	push   %ebp
4026b5:	8b ec                	mov    %esp,%ebp
4026b7:	51                   	push   %ecx
4026b8:	53                   	push   %ebx
4026b9:	56                   	push   %esi
4026ba:	57                   	push   %edi
4026bb:	8b f2                	mov    %edx,%esi
4026bd:	8b d8                	mov    %eax,%ebx
4026bf:	80 3d c4 c5 49 00 00 	cmpb   $0x0,0x49c5c4
4026c6:	75 13                	jne    0x4026db
4026c8:	e8 eb f3 ff ff       	call   0x401ab8
4026cd:	84 c0                	test   %al,%al
4026cf:	75 0a                	jne    0x4026db
4026d1:	33 c0                	xor    %eax,%eax
4026d3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4026d6:	e9 91 00 00 00       	jmp    0x40276c
4026db:	33 d2                	xor    %edx,%edx
4026dd:	55                   	push   %ebp
4026de:	68 65 27 40 00       	push   $0x402765
4026e3:	64 ff 32             	push   %fs:(%edx)
4026e6:	64 89 22             	mov    %esp,%fs:(%edx)
4026e9:	80 3d 4d c0 49 00 00 	cmpb   $0x0,0x49c04d
4026f0:	74 0a                	je     0x4026fc
4026f2:	68 cc c5 49 00       	push   $0x49c5cc
4026f7:	e8 18 ed ff ff       	call   0x401414
4026fc:	8b d6                	mov    %esi,%edx
4026fe:	8b c3                	mov    %ebx,%eax
402700:	e8 d3 fd ff ff       	call   0x4024d8
402705:	84 c0                	test   %al,%al
402707:	74 05                	je     0x40270e
402709:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40270c:	eb 36                	jmp    0x402744
40270e:	8b c6                	mov    %esi,%eax
402710:	e8 8f fa ff ff       	call   0x4021a4
402715:	8b f8                	mov    %eax,%edi
402717:	8b c3                	mov    %ebx,%eax
402719:	83 e8 04             	sub    $0x4,%eax
40271c:	8b 00                	mov    (%eax),%eax
40271e:	25 fc ff ff 7f       	and    $0x7ffffffc,%eax
402723:	83 e8 04             	sub    $0x4,%eax
402726:	3b f0                	cmp    %eax,%esi
402728:	7d 02                	jge    0x40272c
40272a:	8b c6                	mov    %esi,%eax
40272c:	85 ff                	test   %edi,%edi
40272e:	74 11                	je     0x402741
402730:	8b d7                	mov    %edi,%edx