40237f:	89 45 fc             	mov    %eax,-0x4(%ebp)
402382:	e8 1d 17 00 00       	call   0x403aa4
402387:	e9 85 00 00 00       	jmp    0x402411
40238c:	8b 10                	mov    (%eax),%edx
40238e:	f6 c2 02             	test   $0x2,%dl
402391:	74 1c                	je     0x4023af
402393:	81 e2 fc ff ff 7f    	and    $0x7ffffffc,%edx
402399:	83 fa 04             	cmp    $0x4,%edx
40239c:	7d 0c                	jge    0x4023aa
40239e:	c7 05 c4 95 46 00 0b 	movl   $0xb,0x4695c4
4023a5:	00 00 00
4023a8:	eb 37                	jmp    0x4023e1
4023aa:	83 08 01             	orl    $0x1,(%eax)
4023ad:	eb 29                	jmp    0x4023d8
4023af:	8b c7                	mov    %edi,%eax
4023b1:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4023b5:	74 0b                	je     0x4023c2
4023b7:	83 38 00             	cmpl   $0x0,(%eax)
4023ba:	74 06                	je     0x4023c2
4023bc:	83 78 08 0c          	cmpl   $0xc,0x8(%eax)
4023c0:	7d 0c                	jge    0x4023ce
4023c2:	c7 05 c4 95 46 00 0b 	movl   $0xb,0x4695c4
4023c9:	00 00 00
4023cc:	eb 13                	jmp    0x4023e1
4023ce:	8b 50 08             	mov    0x8(%eax),%edx
4023d1:	03 da                	add    %edx,%ebx
4023d3:	e8 c8 f7 ff ff       	call   0x401ba0
4023d8:	8b d3                	mov    %ebx,%edx
4023da:	8b c6                	mov    %esi,%eax
4023dc:	e8 27 fa ff ff       	call   0x401e08
4023e1:	a1 c4 95 46 00       	mov    0x4695c4,%eax
4023e6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4023e9:	33 c0                	xor    %eax,%eax
4023eb:	5a                   	pop    %edx
4023ec:	59                   	pop    %ecx
4023ed:	59                   	pop    %ecx
4023ee:	64 89 10             	mov    %edx,%fs:(%eax)
4023f1:	68 11 24 40 00       	push   $0x402411
4023f6:	80 3d 49 90 46 00 00 	cmpb   $0x0,0x469049
4023fd:	74 0a                	je     0x402409
4023ff:	68 c8 95 46 00       	push   $0x4695c8
402404:	e8 57 ef ff ff       	call   0x401360
402409:	c3                   	ret
40240a:	e9 b1 15 00 00       	jmp    0x4039c0
40240f:	eb e5                	jmp    0x4023f6
402411:	8b 45 fc             	mov    -0x4(%ebp),%eax
402414:	5f                   	pop    %edi
402415:	5e                   	pop    %esi
402416:	5b                   	pop    %ebx
402417:	59                   	pop    %ecx
402418:	5d                   	pop    %ebp
402419:	c3                   	ret
40241a:	8b c0                	mov    %eax,%eax
40241c:	53                   	push   %ebx
40241d:	56                   	push   %esi
40241e:	57                   	push   %edi
40241f:	55                   	push   %ebp
402420:	83 c4 f8             	add    $0xfffffff8,%esp
402423:	8b f2                	mov    %edx,%esi
402425:	83 c6 07             	add    $0x7,%esi
402428:	83 e6 fc             	and    $0xfffffffc,%esi
40242b:	83 fe 0c             	cmp    $0xc,%esi
40242e:	7d 05                	jge    0x402435
402430:	be 0c 00 00 00       	mov    $0xc,%esi
402435:	8b e8                	mov    %eax,%ebp
402437:	83 ed 04             	sub    $0x4,%ebp
40243a:	8b 7d 00             	mov    0x0(%ebp),%edi
40243d:	81 e7 fc ff ff 7f    	and    $0x7ffffffc,%edi
402443:	8b c5                	mov    %ebp,%eax
402445:	03 c7                	add    %edi,%eax
402447:	8b d8                	mov    %eax,%ebx
402449:	3b fe                	cmp    %esi,%edi
40244b:	75 07                	jne    0x402454
40244d:	b0 01                	mov    $0x1,%al
40244f:	e9 9b 01 00 00       	jmp    0x4025ef
402454:	3b fe                	cmp    %esi,%edi
402456:	0f 8e 83 00 00 00    	jle    0x4024df
40245c:	8b d7                	mov    %edi,%edx
40245e:	2b d6                	sub    %esi,%edx
402460:	89 14 24             	mov    %edx,(%esp)
402463:	3b 1d 1c 96 46 00    	cmp    0x46961c,%ebx
402469:	75 38                	jne    0x4024a3
40246b:	8b 04 24             	mov    (%esp),%eax
40246e:	29 05 1c 96 46 00    	sub    %eax,0x46961c
402474:	8b 04 24             	mov    (%esp),%eax
402477:	01 05 18 96 46 00    	add    %eax,0x469618
40247d:	83 3d 18 96 46 00 0c 	cmpl   $0xc,0x469618
402484:	0f 8d 4c 01 00 00    	jge    0x4025d6
40248a:	8b 04 24             	mov    (%esp),%eax
40248d:	01 05 1c 96 46 00    	add    %eax,0x46961c
402493:	8b 04 24             	mov    (%esp),%eax
402496:	29 05 18 96 46 00    	sub    %eax,0x469618
40249c:	8b f7                	mov    %edi,%esi
40249e:	e9 33 01 00 00       	jmp    0x4025d6
4024a3:	8b d8                	mov    %eax,%ebx
4024a5:	f6 03 02             	testb  $0x2,(%ebx)
4024a8:	75 0d                	jne    0x4024b7
4024aa:	8b c3                	mov    %ebx,%eax
4024ac:	8b 50 08             	mov    0x8(%eax),%edx
4024af:	01 14 24             	add    %edx,(%esp)
4024b2:	e8 e9 f6 ff ff       	call   0x401ba0
4024b7:	83 3c 24 0c          	cmpl   $0xc,(%esp)
4024bb:	7c 1b                	jl     0x4024d8
4024bd:	8b dd                	mov    %ebp,%ebx
4024bf:	03 de                	add    %esi,%ebx
4024c1:	8b 04 24             	mov    (%esp),%eax
4024c4:	83 c8 02             	or     $0x2,%eax
4024c7:	89 03                	mov    %eax,(%ebx)
4024c9:	8b c3                	mov    %ebx,%eax
4024cb:	83 c0 04             	add    $0x4,%eax
4024ce:	e8 91 f7 ff ff       	call   0x401c64
4024d3:	e9 fe 00 00 00       	jmp    0x4025d6
4024d8:	8b f7                	mov    %edi,%esi
4024da:	e9 f7 00 00 00       	jmp    0x4025d6
4024df:	8b c6                	mov    %esi,%eax
4024e1:	2b c7                	sub    %edi,%eax
4024e3:	89 44 24 04          	mov    %eax,0x4(%esp)
4024e7:	3b 1d 1c 96 46 00    	cmp    0x46961c,%ebx
4024ed:	75 67                	jne    0x402556
4024ef:	a1 18 96 46 00       	mov    0x469618,%eax
4024f4:	3b 44 24 04          	cmp    0x4(%esp),%eax
4024f8:	7c 53                	jl     0x40254d
4024fa:	8b 44 24 04          	mov    0x4(%esp),%eax
4024fe:	29 05 18 96 46 00    	sub    %eax,0x469618
402504:	8b 44 24 04          	mov    0x4(%esp),%eax
402508:	01 05 1c 96 46 00    	add    %eax,0x46961c
40250e:	83 3d 18 96 46 00 0c 	cmpl   $0xc,0x469618
402515:	7d 18                	jge    0x40252f
402517:	a1 18 96 46 00       	mov    0x469618,%eax
40251c:	01 05 1c 96 46 00    	add    %eax,0x46961c
402522:	03 35 18 96 46 00    	add    0x469618,%esi
402528:	33 c0                	xor    %eax,%eax
40252a:	a3 18 96 46 00       	mov    %eax,0x469618
40252f:	8b c6                	mov    %esi,%eax
402531:	2b c7                	sub    %edi,%eax
402533:	01 05 b4 95 46 00    	add    %eax,0x4695b4
402539:	8b 45 00             	mov    0x0(%ebp),%eax
40253c:	25 03 00 00 80       	and    $0x80000003,%eax
402541:	0b f0                	or     %eax,%esi
402543:	89 75 00             	mov    %esi,0x0(%ebp)
402546:	b0 01                	mov    $0x1,%al
402548:	e9 a2 00 00 00       	jmp    0x4025ef
40254d:	e8 3e f9 ff ff       	call   0x401e90
402552:	8b dd                	mov    %ebp,%ebx
402554:	03 df                	add    %edi,%ebx
402556:	f6 03 02             	testb  $0x2,(%ebx)
402559:	75 4d                	jne    0x4025a8
40255b:	8b d3                	mov    %ebx,%edx
40255d:	8b c2                	mov    %edx,%eax
40255f:	8b 48 08             	mov    0x8(%eax),%ecx
402562:	89 0c 24             	mov    %ecx,(%esp)
402565:	8b 0c 24             	mov    (%esp),%ecx
402568:	3b 4c 24 04          	cmp    0x4(%esp),%ecx
40256c:	7d 0e                	jge    0x40257c
40256e:	03 14 24             	add    (%esp),%edx
402571:	8b da                	mov    %edx,%ebx
402573:	8b 04 24             	mov    (%esp),%eax
402576:	29 44 24 04          	sub    %eax,0x4(%esp)
40257a:	eb 2c                	jmp    0x4025a8
40257c:	e8 1f f6 ff ff       	call   0x401ba0
402581:	8b 44 24 04          	mov    0x4(%esp),%eax
402585:	29 04 24             	sub    %eax,(%esp)
402588:	83 3c 24 0c          	cmpl   $0xc,(%esp)
40258c:	7c 0e                	jl     0x40259c
40258e:	8b c5                	mov    %ebp,%eax
402590:	03 c6                	add    %esi,%eax
402592:	8b 14 24             	mov    (%esp),%edx
402595:	e8 6e f8 ff ff       	call   0x401e08
40259a:	eb 3a                	jmp    0x4025d6
40259c:	03 34 24             	add    (%esp),%esi
40259f:	8b dd                	mov    %ebp,%ebx
4025a1:	03 de                	add    %esi,%ebx
4025a3:	83 23 fe             	andl   $0xfffffffe,(%ebx)
4025a6:	eb 2e                	jmp    0x4025d6
4025a8:	8b 03                	mov    (%ebx),%eax
4025aa:	a9 00 00 00 80       	test   $0x80000000,%eax
4025af:	74 21                	je     0x4025d2
4025b1:	25 fc ff ff 7f       	and    $0x7ffffffc,%eax
4025b6:	03 c3                	add    %ebx,%eax
4025b8:	8b d8                	mov    %eax,%ebx
4025ba:	8b 54 24 04          	mov    0x4(%esp),%edx
4025be:	8b c3                	mov    %ebx,%eax
4025c0:	e8 cf f9 ff ff       	call   0x401f94
4025c5:	84 c0                	test   %al,%al
4025c7:	74 09                	je     0x4025d2
4025c9:	8b dd                	mov    %ebp,%ebx
4025cb:	03 df                	add    %edi,%ebx
4025cd:	e9 0d ff ff ff       	jmp    0x4024df
4025d2:	33 c0                	xor    %eax,%eax
4025d4:	eb 19                	jmp    0x4025ef
4025d6:	8b c6                	mov    %esi,%eax
4025d8:	2b c7                	sub    %edi,%eax
4025da:	01 05 b4 95 46 00    	add    %eax,0x4695b4
4025e0:	8b 45 00             	mov    0x0(%ebp),%eax
4025e3:	25 03 00 00 80       	and    $0x80000003,%eax
4025e8:	0b f0                	or     %eax,%esi
4025ea:	89 75 00             	mov    %esi,0x0(%ebp)
4025ed:	b0 01                	mov    $0x1,%al
4025ef:	59                   	pop    %ecx
4025f0:	5a                   	pop    %edx
4025f1:	5d                   	pop    %ebp
4025f2:	5f                   	pop    %edi
4025f3:	5e                   	pop    %esi
4025f4:	5b                   	pop    %ebx
4025f5:	c3                   	ret
4025f6:	8b c0                	mov    %eax,%eax
4025f8:	55                   	push   %ebp
4025f9:	8b ec                	mov    %esp,%ebp
4025fb:	51                   	push   %ecx
4025fc:	53                   	push   %ebx
4025fd:	56                   	push   %esi
4025fe:	57                   	push   %edi
4025ff:	8b f2                	mov    %edx,%esi
402601:	8b d8                	mov    %eax,%ebx
402603:	80 3d c0 95 46 00 00 	cmpb   $0x0,0x4695c0
40260a:	75 13                	jne    0x40261f
40260c:	e8 eb f3 ff ff       	call   0x4019fc
402611:	84 c0                	test   %al,%al
402613:	75 0a                	jne    0x40261f
402615:	33 c0                	xor    %eax,%eax
402617:	89 45 fc             	mov    %eax,-0x4(%ebp)
40261a:	e9 91 00 00 00       	jmp    0x4026b0
40261f:	33 d2                	xor    %edx,%edx
402621:	55                   	push   %ebp
402622:	68 a9 26 40 00       	push   $0x4026a9
402627:	64 ff 32             	push   %fs:(%edx)
40262a:	64 89 22             	mov    %esp,%fs:(%edx)
40262d:	80 3d 49 90 46 00 00 	cmpb   $0x0,0x469049
402634:	74 0a                	je     0x402640
402636:	68 c8 95 46 00       	push   $0x4695c8
40263b:	e8 18 ed ff ff       	call   0x401358
402640:	8b d6                	mov    %esi,%edx
402642:	8b c3                	mov    %ebx,%eax
402644:	e8 d3 fd ff ff       	call   0x40241c
402649:	84 c0                	test   %al,%al
40264b:	74 05                	je     0x402652
40264d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402650:	eb 36                	jmp    0x402688
402652:	8b c6                	mov    %esi,%eax
402654:	e8 8f fa ff ff       	call   0x4020e8
402659:	8b f8                	mov    %eax,%edi
40265b:	8b c3                	mov    %ebx,%eax
40265d:	83 e8 04             	sub    $0x4,%eax
402660:	8b 00                	mov    (%eax),%eax
402662:	25 fc ff ff 7f       	and    $0x7ffffffc,%eax
402667:	83 e8 04             	sub    $0x4,%eax
40266a:	3b f0                	cmp    %eax,%esi
40266c:	7d 02                	jge    0x402670
40266e:	8b c6                	mov    %esi,%eax
402670:	85 ff                	test   %edi,%edi
402672:	74 11                	je     0x402685
402674:	8b d7                	mov    %edi,%edx
402676:	8b cb                	mov    %ebx,%ecx
402678:	91                   	xchg   %eax,%ecx
402679:	e8 3a 02 00 00       	call   0x4028b8
40267e:	8b c3                	mov    %ebx,%eax
402680:	e8 f3 fb ff ff       	call   0x402278
402685:	89 7d fc             	mov    %edi,-0x4(%ebp)
402688:	33 c0                	xor    %eax,%eax
40268a:	5a                   	pop    %edx
40268b:	59                   	pop    %ecx
40268c:	59                   	pop    %ecx
40268d:	64 89 10             	mov    %edx,%fs:(%eax)
402690:	68 b0 26 40 00       	push   $0x4026b0
402695:	80 3d 49 90 46 00 00 	cmpb   $0x0,0x469049
40269c:	74 0a                	je     0x4026a8
40269e:	68 c8 95 46 00       	push   $0x4695c8
4026a3:	e8 b8 ec ff ff       	call   0x401360
4026a8:	c3                   	ret
4026a9:	e9 12 13 00 00       	jmp    0x4039c0
4026ae:	eb e5                	jmp    0x402695
4026b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4026b3:	5f                   	pop    %edi
4026b4:	5e                   	pop    %esi
4026b5:	5b                   	pop    %ebx
4026b6:	59                   	pop    %ecx
4026b7:	5d                   	pop    %ebp
4026b8:	c3                   	ret
4026b9:	8d 40 00             	lea    0x0(%eax),%eax
4026bc:	53                   	push   %ebx
4026bd:	85 c0                	test   %eax,%eax
4026bf:	7e 15                	jle    0x4026d6
4026c1:	ff 15 3c d0 45 00    	call   *0x45d03c
4026c7:	8b d8                	mov    %eax,%ebx
4026c9:	85 db                	test   %ebx,%ebx
4026cb:	75 0b                	jne    0x4026d8
4026cd:	b0 01                	mov    $0x1,%al
4026cf:	e8 44 01 00 00       	call   0x402818
4026d4:	eb 02                	jmp    0x4026d8
4026d6:	33 db                	xor    %ebx,%ebx
4026d8:	8b c3                	mov    %ebx,%eax
4026da:	5b                   	pop    %ebx
4026db:	c3                   	ret
4026dc:	53                   	push   %ebx
4026dd:	85 c0                	test   %eax,%eax
4026df:	74 15                	je     0x4026f6
4026e1:	ff 15 40 d0 45 00    	call   *0x45d040
4026e7:	8b d8                	mov    %eax,%ebx
4026e9:	85 db                	test   %ebx,%ebx
4026eb:	74 0b                	je     0x4026f8
4026ed:	b0 02                	mov    $0x2,%al
4026ef:	e8 24 01 00 00       	call   0x402818
4026f4:	eb 02                	jmp    0x4026f8
4026f6:	33 db                	xor    %ebx,%ebx
4026f8:	8b c3                	mov    %ebx,%eax
4026fa:	5b                   	pop    %ebx
4026fb:	c3                   	ret
4026fc:	8b 08                	mov    (%eax),%ecx
4026fe:	85 c9                	test   %ecx,%ecx
402700:	74 32                	je     0x402734
402702:	85 d2                	test   %edx,%edx
402704:	74 18                	je     0x40271e
402706:	50                   	push   %eax
402707:	89 c8                	mov    %ecx,%eax
402709:	ff 15 44 d0 45 00    	call   *0x45d044
40270f:	59                   	pop    %ecx
402710:	09 c0                	or     %eax,%eax
402712:	74 19                	je     0x40272d
402714:	89 01                	mov    %eax,(%ecx)
402716:	c3                   	ret
402717:	b0 02                	mov    $0x2,%al
402719:	e9 fa 00 00 00       	jmp    0x402818
40271e:	89 10                	mov    %edx,(%eax)
402720:	89 c8                	mov    %ecx,%eax
402722:	ff 15 40 d0 45 00    	call   *0x45d040
402728:	09 c0                	or     %eax,%eax
40272a:	75 eb                	jne    0x402717
40272c:	c3                   	ret
40272d:	b0 01                	mov    $0x1,%al
40272f:	e9 e4 00 00 00       	jmp    0x402818
402734:	85 d2                	test   %edx,%edx
402736:	74 10                	je     0x402748
402738:	50                   	push   %eax
402739:	89 d0                	mov    %edx,%eax
40273b:	ff 15 3c d0 45 00    	call   *0x45d03c
402741:	59                   	pop    %ecx
402742:	09 c0                	or     %eax,%eax
402744:	74 e7                	je     0x40272d
402746:	89 01                	mov    %eax,(%ecx)
402748:	c3                   	ret
402749:	8d 40 00             	lea    0x0(%eax),%eax
40274c:	e8 3b 36 00 00       	call   0x405d8c
402751:	83 b8 00 00 00 00 00 	cmpl   $0x0,0x0(%eax)
402758:	74 0f                	je     0x402769
40275a:	e8 2d 36 00 00       	call   0x405d8c
40275f:	8b 80 00 00 00 00    	mov    0x0(%eax),%eax
402765:	8b 40 08             	mov    0x8(%eax),%eax
402768:	c3                   	ret
402769:	33 c0                	xor    %eax,%eax
40276b:	c3                   	ret