40232e:	57                   	push   %edi
40232f:	ff 15 0c e0 43 00    	call   *0x43e00c
402335:	8b f0                	mov    %eax,%esi
402337:	85 f6                	test   %esi,%esi
402339:	74 7e                	je     0x4023b9
40233b:	83 fe ff             	cmp    $0xffffffff,%esi
40233e:	74 79                	je     0x4023b9
402340:	83 ec 18             	sub    $0x18,%esp
402343:	8b cc                	mov    %esp,%ecx
402345:	6a 00                	push   $0x0
402347:	68 54 9f 44 00       	push   $0x449f54
40234c:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
402352:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
402359:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
402360:	e8 9b 0c 00 00       	call   0x403000
402365:	8b d6                	mov    %esi,%edx
402367:	8b cf                	mov    %edi,%ecx
402369:	e8 72 04 00 00       	call   0x4027e0
40236e:	3c 01                	cmp    $0x1,%al
402370:	0f 85 a8 00 00 00    	jne    0x40241e
402376:	a1 20 72 45 00       	mov    0x457220,%eax
40237b:	85 c0                	test   %eax,%eax
40237d:	75 33                	jne    0x4023b2
40237f:	68 84 00 00 00       	push   $0x84
402384:	e8 3d 78 01 00       	call   0x419bc6
402389:	8b f0                	mov    %eax,%esi
40238b:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40238e:	68 84 00 00 00       	push   $0x84
402393:	6a 00                	push   $0x0
402395:	56                   	push   %esi
402396:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40239a:	e8 71 98 01 00       	call   0x41bc10
40239f:	83 c4 10             	add    $0x10,%esp
4023a2:	8b ce                	mov    %esi,%ecx
4023a4:	e8 07 12 00 00       	call   0x4035b0
4023a9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4023ad:	a3 20 72 45 00       	mov    %eax,0x457220
4023b2:	68 00 d9 44 00       	push   $0x44d900
4023b7:	eb 4e                	jmp    0x402407
4023b9:	ff 15 6c e0 43 00    	call   *0x43e06c
4023bf:	3d 24 04 00 00       	cmp    $0x424,%eax
4023c4:	75 58                	jne    0x40241e
4023c6:	a1 20 72 45 00       	mov    0x457220,%eax
4023cb:	85 c0                	test   %eax,%eax
4023cd:	75 33                	jne    0x402402
4023cf:	68 84 00 00 00       	push   $0x84
4023d4:	e8 ed 77 01 00       	call   0x419bc6
4023d9:	8b f0                	mov    %eax,%esi
4023db:	89 75 d4             	mov    %esi,-0x2c(%ebp)
4023de:	68 84 00 00 00       	push   $0x84
4023e3:	6a 00                	push   $0x0
4023e5:	56                   	push   %esi
4023e6:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
4023ea:	e8 21 98 01 00       	call   0x41bc10
4023ef:	83 c4 10             	add    $0x10,%esp
4023f2:	8b ce                	mov    %esi,%ecx
4023f4:	e8 b7 11 00 00       	call   0x4035b0
4023f9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4023fd:	a3 20 72 45 00       	mov    %eax,0x457220
402402:	68 60 d9 44 00       	push   $0x44d960
402407:	8b 48 04             	mov    0x4(%eax),%ecx
40240a:	83 c0 04             	add    $0x4,%eax
40240d:	50                   	push   %eax
40240e:	8b 71 14             	mov    0x14(%ecx),%esi
402411:	8b ce                	mov    %esi,%ecx
402413:	ff 15 5c e2 43 00    	call   *0x43e25c
402419:	ff d6                	call   *%esi
40241b:	83 c4 08             	add    $0x8,%esp
40241e:	6a 01                	push   $0x1
402420:	68 80 da 44 00       	push   $0x44da80
402425:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402428:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40242f:	32 db                	xor    %bl,%bl
402431:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
402438:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40243f:	e8 bc 0b 00 00       	call   0x403000
402444:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
402448:	8d 45 08             	lea    0x8(%ebp),%eax
40244b:	83 7d 1c 08          	cmpl   $0x8,0x1c(%ebp)
40244f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402452:	ff 75 18             	push   0x18(%ebp)
402455:	0f 43 45 08          	cmovae 0x8(%ebp),%eax
402459:	50                   	push   %eax
40245a:	e8 11 09 00 00       	call   0x402d70
40245f:	6a 01                	push   $0x1
402461:	68 80 da 44 00       	push   $0x44da80
402466:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402469:	e8 02 09 00 00       	call   0x402d70
40246e:	a1 20 72 45 00       	mov    0x457220,%eax
402473:	85 c0                	test   %eax,%eax
402475:	75 33                	jne    0x4024aa
402477:	68 84 00 00 00       	push   $0x84
40247c:	e8 45 77 01 00       	call   0x419bc6
402481:	8b f0                	mov    %eax,%esi
402483:	89 75 d4             	mov    %esi,-0x2c(%ebp)
402486:	68 84 00 00 00       	push   $0x84
40248b:	6a 00                	push   $0x0
40248d:	56                   	push   %esi
40248e:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
402492:	e8 79 97 01 00       	call   0x41bc10
402497:	83 c4 10             	add    $0x10,%esp
40249a:	8b ce                	mov    %esi,%ecx
40249c:	e8 0f 11 00 00       	call   0x4035b0
4024a1:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
4024a5:	a3 20 72 45 00       	mov    %eax,0x457220
4024aa:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4024ae:	8d 50 04             	lea    0x4(%eax),%edx
4024b1:	8b 02                	mov    (%edx),%eax
4024b3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4024b6:	0f 43 4d d8          	cmovae -0x28(%ebp),%ecx
4024ba:	51                   	push   %ecx
4024bb:	68 84 da 44 00       	push   $0x44da84
4024c0:	8b 70 04             	mov    0x4(%eax),%esi
4024c3:	8b ce                	mov    %esi,%ecx
4024c5:	52                   	push   %edx
4024c6:	ff 15 5c e2 43 00    	call   *0x43e25c
4024cc:	ff d6                	call   *%esi
4024ce:	83 c4 0c             	add    $0xc,%esp
4024d1:	8d 45 d8             	lea    -0x28(%ebp),%eax
4024d4:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4024d8:	8d 4d 20             	lea    0x20(%ebp),%ecx
4024db:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
4024df:	83 7d 34 08          	cmpl   $0x8,0x34(%ebp)
4024e3:	6a 00                	push   $0x0
4024e5:	0f 43 4d 20          	cmovae 0x20(%ebp),%ecx
4024e9:	6a 00                	push   $0x0
4024eb:	6a 00                	push   $0x0
4024ed:	6a 00                	push   $0x0
4024ef:	6a 00                	push   $0x0
4024f1:	50                   	push   %eax
4024f2:	6a 01                	push   $0x1
4024f4:	6a 02                	push   $0x2
4024f6:	6a 10                	push   $0x10
4024f8:	68 ff 01 0f 00       	push   $0xf01ff
4024fd:	6a 00                	push   $0x0
4024ff:	51                   	push   %ecx
402500:	57                   	push   %edi
402501:	ff 15 28 e0 43 00    	call   *0x43e028
402507:	8b f0                	mov    %eax,%esi
402509:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40250c:	85 f6                	test   %esi,%esi
40250e:	0f 84 fa 00 00 00    	je     0x40260e
402514:	83 fe ff             	cmp    $0xffffffff,%esi
402517:	0f 84 f1 00 00 00    	je     0x40260e
40251d:	83 ec 18             	sub    $0x18,%esp
402520:	8b cc                	mov    %esp,%ecx
402522:	6a 00                	push   $0x0
402524:	68 54 9f 44 00       	push   $0x449f54
402529:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
40252f:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
402536:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
40253d:	e8 be 0a 00 00       	call   0x403000
402542:	8b d6                	mov    %esi,%edx
402544:	8b cf                	mov    %edi,%ecx
402546:	e8 25 ee ff ff       	call   0x401370
40254b:	3c 01                	cmp    $0x1,%al
40254d:	75 5f                	jne    0x4025ae
40254f:	a1 20 72 45 00       	mov    0x457220,%eax
402554:	85 c0                	test   %eax,%eax
402556:	75 33                	jne    0x40258b
402558:	68 84 00 00 00       	push   $0x84
40255d:	e8 64 76 01 00       	call   0x419bc6
402562:	8b f0                	mov    %eax,%esi
402564:	89 75 d0             	mov    %esi,-0x30(%ebp)
402567:	68 84 00 00 00       	push   $0x84
40256c:	6a 00                	push   $0x0
40256e:	56                   	push   %esi
40256f:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
402573:	e8 98 96 01 00       	call   0x41bc10
402578:	83 c4 10             	add    $0x10,%esp
40257b:	8b ce                	mov    %esi,%ecx
40257d:	e8 2e 10 00 00       	call   0x4035b0
402582:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
402586:	a3 20 72 45 00       	mov    %eax,0x457220
40258b:	8b 48 04             	mov    0x4(%eax),%ecx
40258e:	83 c0 04             	add    $0x4,%eax
402591:	68 b8 da 44 00       	push   $0x44dab8
402596:	50                   	push   %eax
402597:	8b 71 14             	mov    0x14(%ecx),%esi
40259a:	8b ce                	mov    %esi,%ecx
40259c:	ff 15 5c e2 43 00    	call   *0x43e25c
4025a2:	ff d6                	call   *%esi
4025a4:	83 c4 08             	add    $0x8,%esp
4025a7:	b3 01                	mov    $0x1,%bl
4025a9:	e9 c5 00 00 00       	jmp    0x402673
4025ae:	ff 15 6c e0 43 00    	call   *0x43e06c
4025b4:	a1 20 72 45 00       	mov    0x457220,%eax
4025b9:	85 c0                	test   %eax,%eax
4025bb:	75 33                	jne    0x4025f0
4025bd:	68 84 00 00 00       	push   $0x84
4025c2:	e8 ff 75 01 00       	call   0x419bc6
4025c7:	8b f0                	mov    %eax,%esi
4025c9:	89 75 d0             	mov    %esi,-0x30(%ebp)
4025cc:	68 84 00 00 00       	push   $0x84
4025d1:	6a 00                	push   $0x0
4025d3:	56                   	push   %esi
4025d4:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
4025d8:	e8 33 96 01 00       	call   0x41bc10
4025dd:	83 c4 10             	add    $0x10,%esp
4025e0:	8b ce                	mov    %esi,%ecx
4025e2:	e8 c9 0f 00 00       	call   0x4035b0
4025e7:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
4025eb:	a3 20 72 45 00       	mov    %eax,0x457220
4025f0:	8b 48 04             	mov    0x4(%eax),%ecx
4025f3:	83 c0 04             	add    $0x4,%eax
4025f6:	68 18 db 44 00       	push   $0x44db18
4025fb:	50                   	push   %eax
4025fc:	8b 71 14             	mov    0x14(%ecx),%esi
4025ff:	8b ce                	mov    %esi,%ecx
402601:	ff 15 5c e2 43 00    	call   *0x43e25c
402607:	ff d6                	call   *%esi
402609:	83 c4 08             	add    $0x8,%esp
40260c:	eb 65                	jmp    0x402673
40260e:	ff 15 6c e0 43 00    	call   *0x43e06c
402614:	a1 20 72 45 00       	mov    0x457220,%eax
402619:	85 c0                	test   %eax,%eax
40261b:	75 33                	jne    0x402650
40261d:	68 84 00 00 00       	push   $0x84
402622:	e8 9f 75 01 00       	call   0x419bc6
402627:	8b f0                	mov    %eax,%esi
402629:	89 75 d0             	mov    %esi,-0x30(%ebp)
40262c:	68 84 00 00 00       	push   $0x84
402631:	6a 00                	push   $0x0
402633:	56                   	push   %esi
402634:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
402638:	e8 d3 95 01 00       	call   0x41bc10
40263d:	83 c4 10             	add    $0x10,%esp
402640:	8b ce                	mov    %esi,%ecx
402642:	e8 69 0f 00 00       	call   0x4035b0
402647:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40264b:	a3 20 72 45 00       	mov    %eax,0x457220
402650:	8b 48 04             	mov    0x4(%eax),%ecx
402653:	83 c0 04             	add    $0x4,%eax
402656:	68 70 db 44 00       	push   $0x44db70
40265b:	68 54 9f 44 00       	push   $0x449f54
402660:	50                   	push   %eax
402661:	8b 71 24             	mov    0x24(%ecx),%esi
402664:	8b ce                	mov    %esi,%ecx
402666:	ff 15 5c e2 43 00    	call   *0x43e25c
40266c:	ff d6                	call   *%esi
40266e:	83 c4 0c             	add    $0xc,%esp
402671:	32 db                	xor    %bl,%bl
402673:	ff 75 d4             	push   -0x2c(%ebp)
402676:	ff 15 24 e0 43 00    	call   *0x43e024
40267c:	57                   	push   %edi
40267d:	ff 15 24 e0 43 00    	call   *0x43e024
402683:	8b 4d ec             	mov    -0x14(%ebp),%ecx
402686:	83 f9 08             	cmp    $0x8,%ecx
402689:	72 32                	jb     0x4026bd
40268b:	8b 55 d8             	mov    -0x28(%ebp),%edx
40268e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
402695:	8b c2                	mov    %edx,%eax
402697:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40269d:	72 14                	jb     0x4026b3
40269f:	8b 50 fc             	mov    -0x4(%eax),%edx
4026a2:	83 c1 23             	add    $0x23,%ecx
4026a5:	2b c2                	sub    %edx,%eax
4026a7:	83 c0 fc             	add    $0xfffffffc,%eax
4026aa:	83 f8 1f             	cmp    $0x1f,%eax
4026ad:	0f 87 26 01 00 00    	ja     0x4027d9
4026b3:	51                   	push   %ecx
4026b4:	52                   	push   %edx
4026b5:	e8 fe 74 01 00       	call   0x419bb8
4026ba:	83 c4 08             	add    $0x8,%esp
4026bd:	33 c0                	xor    %eax,%eax
4026bf:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4026c6:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
4026cd:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
4026d1:	eb 66                	jmp    0x402739
4026d3:	a1 20 72 45 00       	mov    0x457220,%eax
4026d8:	85 c0                	test   %eax,%eax
4026da:	75 33                	jne    0x40270f
4026dc:	68 84 00 00 00       	push   $0x84
4026e1:	e8 e0 74 01 00       	call   0x419bc6
4026e6:	8b f0                	mov    %eax,%esi
4026e8:	89 75 d0             	mov    %esi,-0x30(%ebp)
4026eb:	68 84 00 00 00       	push   $0x84
4026f0:	6a 00                	push   $0x0
4026f2:	56                   	push   %esi
4026f3:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
4026f7:	e8 14 95 01 00       	call   0x41bc10
4026fc:	83 c4 10             	add    $0x10,%esp
4026ff:	8b ce                	mov    %esi,%ecx
402701:	e8 aa 0e 00 00       	call   0x4035b0
402706:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40270a:	a3 20 72 45 00       	mov    %eax,0x457220
40270f:	8b 78 04             	mov    0x4(%eax),%edi
402712:	8d 70 04             	lea    0x4(%eax),%esi
402715:	ff 15 6c e0 43 00    	call   *0x43e06c
40271b:	50                   	push   %eax
40271c:	68 f0 d9 44 00       	push   $0x44d9f0
402721:	68 54 9f 44 00       	push   $0x449f54
402726:	56                   	push   %esi
402727:	8b 77 24             	mov    0x24(%edi),%esi
40272a:	8b ce                	mov    %esi,%ecx
40272c:	ff 15 5c e2 43 00    	call   *0x43e25c
402732:	ff d6                	call   *%esi
402734:	83 c4 10             	add    $0x10,%esp
402737:	32 db                	xor    %bl,%bl
402739:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
40273c:	83 f9 08             	cmp    $0x8,%ecx
40273f:	72 2e                	jb     0x40276f
402741:	8b 55 08             	mov    0x8(%ebp),%edx
402744:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40274b:	8b c2                	mov    %edx,%eax
40274d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
402753:	72 10                	jb     0x402765
402755:	8b 50 fc             	mov    -0x4(%eax),%edx
402758:	83 c1 23             	add    $0x23,%ecx
40275b:	2b c2                	sub    %edx,%eax
40275d:	83 c0 fc             	add    $0xfffffffc,%eax
402760:	83 f8 1f             	cmp    $0x1f,%eax
402763:	77 74                	ja     0x4027d9
402765:	51                   	push   %ecx
402766:	52                   	push   %edx
402767:	e8 4c 74 01 00       	call   0x419bb8
40276c:	83 c4 08             	add    $0x8,%esp
40276f:	8b 4d 34             	mov    0x34(%ebp),%ecx
402772:	33 c0                	xor    %eax,%eax
402774:	c7 45 18 00 00 00 00 	movl   $0x0,0x18(%ebp)
40277b:	c7 45 1c 07 00 00 00 	movl   $0x7,0x1c(%ebp)
402782:	66 89 45 08          	mov    %ax,0x8(%ebp)
402786:	83 f9 08             	cmp    $0x8,%ecx
402789:	72 2e                	jb     0x4027b9
40278b:	8b 55 20             	mov    0x20(%ebp),%edx
40278e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
402795:	8b c2                	mov    %edx,%eax
402797:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40279d:	72 10                	jb     0x4027af
40279f:	8b 50 fc             	mov    -0x4(%eax),%edx
4027a2:	83 c1 23             	add    $0x23,%ecx
4027a5:	2b c2                	sub    %edx,%eax
4027a7:	83 c0 fc             	add    $0xfffffffc,%eax
4027aa:	83 f8 1f             	cmp    $0x1f,%eax
4027ad:	77 2a                	ja     0x4027d9
4027af:	51                   	push   %ecx
4027b0:	52                   	push   %edx
4027b1:	e8 02 74 01 00       	call   0x419bb8
4027b6:	83 c4 08             	add    $0x8,%esp
4027b9:	8a c3                	mov    %bl,%al
4027bb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4027be:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4027c5:	59                   	pop    %ecx
4027c6:	5f                   	pop    %edi
4027c7:	5e                   	pop    %esi
4027c8:	5b                   	pop    %ebx
4027c9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4027cc:	33 cd                	xor    %ebp,%ecx
4027ce:	e8 d7 73 01 00       	call   0x419baa
4027d3:	8b e5                	mov    %ebp,%esp