4332dc:	50                   	push   %eax
4332dd:	8b ce                	mov    %esi,%ecx
4332df:	e8 db fb ff ff       	call   0x432ebf
4332e4:	57                   	push   %edi
4332e5:	ff 75 f0             	push   -0x10(%ebp)
4332e8:	ff 36                	push   (%esi)
4332ea:	e8 f7 7b fe ff       	call   0x41aee6
4332ef:	8b 06                	mov    (%esi),%eax
4332f1:	83 c4 0c             	add    $0xc,%esp
4332f4:	03 c7                	add    %edi,%eax
4332f6:	8b ce                	mov    %esi,%ecx
4332f8:	89 46 04             	mov    %eax,0x4(%esi)
4332fb:	68 74 7f 40 00       	push   $0x407f74
433300:	6a 01                	push   $0x1
433302:	c6 00 00             	movb   $0x0,(%eax)
433305:	e8 0c fc ff ff       	call   0x432f16
43330a:	8b 43 1c             	mov    0x1c(%ebx),%eax
43330d:	8b ce                	mov    %esi,%ecx
43330f:	ff 73 18             	push   0x18(%ebx)
433312:	2b 43 18             	sub    0x18(%ebx),%eax
433315:	50                   	push   %eax
433316:	e8 fb fb ff ff       	call   0x432f16
43331b:	68 78 7f 40 00       	push   $0x407f78
433320:	6a 04                	push   $0x4
433322:	8b ce                	mov    %esi,%ecx
433324:	e8 ed fb ff ff       	call   0x432f16
433329:	33 c0                	xor    %eax,%eax
43332b:	c7 45 e4 7c 19 40 00 	movl   $0x40197c,-0x1c(%ebp)
433332:	89 45 e8             	mov    %eax,-0x18(%ebp)
433335:	89 45 fc             	mov    %eax,-0x4(%ebp)
433338:	8b cb                	mov    %ebx,%ecx
43333a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43333d:	50                   	push   %eax
43333e:	e8 8d fc ff ff       	call   0x432fd0
433343:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
433347:	8b 45 e8             	mov    -0x18(%ebp),%eax
43334a:	85 c0                	test   %eax,%eax
43334c:	74 0c                	je     0x43335a
43334e:	83 f8 ff             	cmp    $0xffffffff,%eax
433351:	74 07                	je     0x43335a
433353:	50                   	push   %eax
433354:	ff 15 10 a1 43 00    	call   *0x43a110
43335a:	83 7b 68 00          	cmpl   $0x0,0x68(%ebx)
43335e:	74 12                	je     0x433372
433360:	83 7b 70 00          	cmpl   $0x0,0x70(%ebx)
433364:	74 0c                	je     0x433372
433366:	ff 73 70             	push   0x70(%ebx)
433369:	ff 73 68             	push   0x68(%ebx)
43336c:	ff 15 b8 a1 43 00    	call   *0x43a1b8
433372:	6a 00                	push   $0x0
433374:	ff 73 3c             	push   0x3c(%ebx)
433377:	ff 36                	push   (%esi)
433379:	ff 15 4c a1 43 00    	call   *0x43a14c
43337f:	8d 7b 54             	lea    0x54(%ebx),%edi
433382:	8b 47 04             	mov    0x4(%edi),%eax
433385:	3b 07                	cmp    (%edi),%eax
433387:	75 78                	jne    0x433401
433389:	8b cf                	mov    %edi,%ecx
43338b:	e8 c3 00 00 00       	call   0x433453
433390:	8b 4b 24             	mov    0x24(%ebx),%ecx
433393:	89 45 e8             	mov    %eax,-0x18(%ebp)
433396:	8b 43 28             	mov    0x28(%ebx),%eax
433399:	2b c1                	sub    %ecx,%eax
43339b:	89 4d ec             	mov    %ecx,-0x14(%ebp)
43339e:	89 45 f0             	mov    %eax,-0x10(%ebp)
4333a1:	8d 48 01             	lea    0x1(%eax),%ecx
4333a4:	3b 4e 08             	cmp    0x8(%esi),%ecx
4333a7:	76 0b                	jbe    0x4333b4
4333a9:	51                   	push   %ecx
4333aa:	8b ce                	mov    %esi,%ecx
4333ac:	e8 0e fb ff ff       	call   0x432ebf
4333b1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4333b4:	50                   	push   %eax
4333b5:	ff 75 ec             	push   -0x14(%ebp)
4333b8:	ff 36                	push   (%esi)
4333ba:	e8 27 7b fe ff       	call   0x41aee6
4333bf:	8b 06                	mov    (%esi),%eax
4333c1:	83 c4 0c             	add    $0xc,%esp
4333c4:	03 45 f0             	add    -0x10(%ebp),%eax
4333c7:	8b ce                	mov    %esi,%ecx
4333c9:	89 46 04             	mov    %eax,0x4(%esi)
4333cc:	68 74 7f 40 00       	push   $0x407f74
4333d1:	6a 01                	push   $0x1
4333d3:	c6 00 00             	movb   $0x0,(%eax)
4333d6:	e8 3b fb ff ff       	call   0x432f16
4333db:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4333de:	8b d1                	mov    %ecx,%edx
4333e0:	8d 42 01             	lea    0x1(%edx),%eax
4333e3:	89 45 e8             	mov    %eax,-0x18(%ebp)
4333e6:	8a 02                	mov    (%edx),%al
4333e8:	42                   	inc    %edx
4333e9:	84 c0                	test   %al,%al
4333eb:	75 f9                	jne    0x4333e6
4333ed:	2b 55 e8             	sub    -0x18(%ebp),%edx
4333f0:	51                   	push   %ecx
4333f1:	52                   	push   %edx
4333f2:	8b ce                	mov    %esi,%ecx
4333f4:	e8 1d fb ff ff       	call   0x432f16
4333f9:	ff 36                	push   (%esi)
4333fb:	ff 15 fc a0 43 00    	call   *0x43a0fc
433401:	ff 73 48             	push   0x48(%ebx)
433404:	8b cf                	mov    %edi,%ecx
433406:	e8 6f 00 00 00       	call   0x43347a
43340b:	8b 7b 68             	mov    0x68(%ebx),%edi
43340e:	8d 87 00 00 08 00    	lea    0x80000(%edi),%eax
433414:	8d 4f 10             	lea    0x10(%edi),%ecx
433417:	3b c1                	cmp    %ecx,%eax
433419:	1b c0                	sbb    %eax,%eax
43341b:	25 04 00 fe ff       	and    $0xfffe0004,%eax
433420:	05 fc ff 01 00       	add    $0x1fffc,%eax
433425:	74 10                	je     0x433437
433427:	33 d2                	xor    %edx,%edx
433429:	42                   	inc    %edx
43342a:	c7 01 20 00 20 00    	movl   $0x200020,(%ecx)
433430:	8d 49 04             	lea    0x4(%ecx),%ecx
433433:	3b d0                	cmp    %eax,%edx
433435:	72 f2                	jb     0x433429
433437:	81 c7 f0 ff 07 00    	add    $0x7fff0,%edi
43343d:	be a8 7d 40 00       	mov    $0x407da8,%esi
433442:	a5                   	movsl  %ds:(%esi),%es:(%edi)
433443:	a5                   	movsl  %ds:(%esi),%es:(%edi)
433444:	a5                   	movsl  %ds:(%esi),%es:(%edi)
433445:	a5                   	movsl  %ds:(%esi),%es:(%edi)
433446:	c7 43 6c 10 00 00 00 	movl   $0x10,0x6c(%ebx)
43344d:	e8 8a 79 fe ff       	call   0x41addc
433452:	c3                   	ret
433453:	8b ff                	mov    %edi,%edi
433455:	56                   	push   %esi
433456:	8b f1                	mov    %ecx,%esi
433458:	8b 46 04             	mov    0x4(%esi),%eax
43345b:	85 c0                	test   %eax,%eax
43345d:	75 02                	jne    0x433461
43345f:	5e                   	pop    %esi
433460:	c3                   	ret
433461:	8b 4e 08             	mov    0x8(%esi),%ecx
433464:	48                   	dec    %eax
433465:	89 46 04             	mov    %eax,0x4(%esi)
433468:	33 d2                	xor    %edx,%edx
43346a:	8d 41 01             	lea    0x1(%ecx),%eax
43346d:	f7 36                	divl   (%esi)
43346f:	6b c1 53             	imul   $0x53,%ecx,%eax
433472:	89 56 08             	mov    %edx,0x8(%esi)
433475:	03 46 10             	add    0x10(%esi),%eax
433478:	5e                   	pop    %esi
433479:	c3                   	ret
43347a:	8b ff                	mov    %edi,%edi
43347c:	55                   	push   %ebp
43347d:	8b ec                	mov    %esp,%ebp
43347f:	56                   	push   %esi
433480:	8b f1                	mov    %ecx,%esi
433482:	8b 46 04             	mov    0x4(%esi),%eax
433485:	3b 06                	cmp    (%esi),%eax
433487:	75 04                	jne    0x43348d
433489:	33 c0                	xor    %eax,%eax
43348b:	eb 45                	jmp    0x4334d2
43348d:	6b 4e 0c 53          	imul   $0x53,0xc(%esi),%ecx
433491:	8b 46 10             	mov    0x10(%esi),%eax
433494:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
433498:	8b 4d 08             	mov    0x8(%ebp),%ecx
43349b:	8d 51 01             	lea    0x1(%ecx),%edx
43349e:	8a 01                	mov    (%ecx),%al
4334a0:	41                   	inc    %ecx
4334a1:	84 c0                	test   %al,%al
4334a3:	75 f9                	jne    0x43349e
4334a5:	2b ca                	sub    %edx,%ecx
4334a7:	41                   	inc    %ecx
4334a8:	83 f9 52             	cmp    $0x52,%ecx
4334ab:	77 14                	ja     0x4334c1
4334ad:	6b 46 0c 53          	imul   $0x53,0xc(%esi),%eax
4334b1:	51                   	push   %ecx
4334b2:	ff 75 08             	push   0x8(%ebp)
4334b5:	03 46 10             	add    0x10(%esi),%eax
4334b8:	50                   	push   %eax
4334b9:	e8 28 7a fe ff       	call   0x41aee6
4334be:	83 c4 0c             	add    $0xc,%esp
4334c1:	8b 46 0c             	mov    0xc(%esi),%eax
4334c4:	33 d2                	xor    %edx,%edx
4334c6:	ff 46 04             	incl   0x4(%esi)
4334c9:	40                   	inc    %eax
4334ca:	f7 36                	divl   (%esi)
4334cc:	33 c0                	xor    %eax,%eax
4334ce:	89 56 0c             	mov    %edx,0xc(%esi)
4334d1:	40                   	inc    %eax
4334d2:	5e                   	pop    %esi
4334d3:	5d                   	pop    %ebp
4334d4:	c2 04 00             	ret    $0x4
4334d7:	6a 04                	push   $0x4
4334d9:	b8 fc e2 41 00       	mov    $0x41e2fc,%eax
4334de:	e8 2b 79 fe ff       	call   0x41ae0e
4334e3:	8b d9                	mov    %ecx,%ebx
4334e5:	8b 43 04             	mov    0x4(%ebx),%eax
4334e8:	2b 03                	sub    (%ebx),%eax
4334ea:	89 45 f0             	mov    %eax,-0x10(%ebp)
4334ed:	8d 48 01             	lea    0x1(%eax),%ecx
4334f0:	8b 45 08             	mov    0x8(%ebp),%eax
4334f3:	3b c1                	cmp    %ecx,%eax
4334f5:	73 05                	jae    0x4334fc
4334f7:	8b c1                	mov    %ecx,%eax
4334f9:	89 45 08             	mov    %eax,0x8(%ebp)
4334fc:	8b 35 3c 1a 40 00    	mov    0x401a3c,%esi
433502:	8b ce                	mov    %esi,%ecx
433504:	50                   	push   %eax
433505:	ff 15 20 a5 43 00    	call   *0x43a520
43350b:	ff d6                	call   *%esi
43350d:	ff 75 f0             	push   -0x10(%ebp)
433510:	8b f8                	mov    %eax,%edi
433512:	ff 33                	push   (%ebx)
433514:	57                   	push   %edi
433515:	e8 cc 79 fe ff       	call   0x41aee6
43351a:	83 c4 0c             	add    $0xc,%esp
43351d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
433521:	ff 33                	push   (%ebx)
433523:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
433529:	8b ce                	mov    %esi,%ecx
43352b:	ff 15 20 a5 43 00    	call   *0x43a520
433531:	ff d6                	call   *%esi
433533:	8b 45 f0             	mov    -0x10(%ebp),%eax
433536:	8b 4d 08             	mov    0x8(%ebp),%ecx
433539:	03 c7                	add    %edi,%eax
43353b:	89 3b                	mov    %edi,(%ebx)
43353d:	89 43 04             	mov    %eax,0x4(%ebx)
433540:	89 4b 08             	mov    %ecx,0x8(%ebx)
433543:	c6 00 00             	movb   $0x0,(%eax)
433546:	e8 91 78 fe ff       	call   0x41addc
43354b:	c2 04 00             	ret    $0x4
43354e:	8b ff                	mov    %edi,%edi
433550:	55                   	push   %ebp
433551:	8b ec                	mov    %esp,%ebp
433553:	53                   	push   %ebx
433554:	56                   	push   %esi
433555:	8b f1                	mov    %ecx,%esi
433557:	57                   	push   %edi
433558:	33 ff                	xor    %edi,%edi
43355a:	8b 46 2c             	mov    0x2c(%esi),%eax
43355d:	8b 00                	mov    (%eax),%eax
43355f:	85 c0                	test   %eax,%eax
433561:	74 2a                	je     0x43358d
433563:	33 db                	xor    %ebx,%ebx
433565:	8b 46 30             	mov    0x30(%esi),%eax
433568:	83 c0 04             	add    $0x4,%eax
43356b:	6a 3f                	push   $0x3f
43356d:	03 c3                	add    %ebx,%eax
43356f:	50                   	push   %eax
433570:	ff 75 08             	push   0x8(%ebp)
433573:	ff 15 9c a4 43 00    	call   *0x43a49c
433579:	83 c4 0c             	add    $0xc,%esp
43357c:	85 c0                	test   %eax,%eax
43357e:	74 20                	je     0x4335a0
433580:	8b 46 2c             	mov    0x2c(%esi),%eax
433583:	47                   	inc    %edi
433584:	83 c3 44             	add    $0x44,%ebx
433587:	8b 00                	mov    (%eax),%eax
433589:	3b f8                	cmp    %eax,%edi
43358b:	72 d8                	jb     0x433565
43358d:	3d 00 01 00 00       	cmp    $0x100,%eax
433592:	72 13                	jb     0x4335a7
433594:	8b 4d 0c             	mov    0xc(%ebp),%ecx
433597:	a1 84 19 40 00       	mov    0x401984,%eax
43359c:	89 01                	mov    %eax,(%ecx)
43359e:	eb 49                	jmp    0x4335e9
4335a0:	8b 45 0c             	mov    0xc(%ebp),%eax
4335a3:	89 38                	mov    %edi,(%eax)
4335a5:	eb 42                	jmp    0x4335e9
4335a7:	6b c8 44             	imul   $0x44,%eax,%ecx
4335aa:	8b 46 30             	mov    0x30(%esi),%eax
4335ad:	c7 04 01 02 00 00 00 	movl   $0x2,(%ecx,%eax,1)
4335b4:	8b 46 2c             	mov    0x2c(%esi),%eax
4335b7:	6b 08 44             	imul   $0x44,(%eax),%ecx
4335ba:	8b 46 30             	mov    0x30(%esi),%eax
4335bd:	83 c0 04             	add    $0x4,%eax
4335c0:	03 c8                	add    %eax,%ecx
4335c2:	51                   	push   %ecx
4335c3:	ff 75 08             	push   0x8(%ebp)
4335c6:	51                   	push   %ecx
4335c7:	e8 9b 00 00 00       	call   0x433667
4335cc:	8b 46 2c             	mov    0x2c(%esi),%eax
4335cf:	6b 08 44             	imul   $0x44,(%eax),%ecx
4335d2:	8b 46 30             	mov    0x30(%esi),%eax
4335d5:	c6 44 01 43 00       	movb   $0x0,0x43(%ecx,%eax,1)
4335da:	8b 46 2c             	mov    0x2c(%esi),%eax
4335dd:	8b 08                	mov    (%eax),%ecx
4335df:	8b 45 0c             	mov    0xc(%ebp),%eax
4335e2:	89 08                	mov    %ecx,(%eax)
4335e4:	8b 46 2c             	mov    0x2c(%esi),%eax
4335e7:	ff 00                	incl   (%eax)
4335e9:	5f                   	pop    %edi
4335ea:	5e                   	pop    %esi
4335eb:	5b                   	pop    %ebx
4335ec:	5d                   	pop    %ebp
4335ed:	c2 08 00             	ret    $0x8
4335f0:	8b ff                	mov    %edi,%edi
4335f2:	55                   	push   %ebp
4335f3:	8b ec                	mov    %esp,%ebp
4335f5:	8b 45 0c             	mov    0xc(%ebp),%eax
4335f8:	33 c9                	xor    %ecx,%ecx
4335fa:	85 c0                	test   %eax,%eax
4335fc:	74 07                	je     0x433605
4335fe:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
433603:	76 05                	jbe    0x43360a
433605:	b9 57 00 07 80       	mov    $0x80070057,%ecx
43360a:	85 c9                	test   %ecx,%ecx
43360c:	78 16                	js     0x433624
43360e:	8d 4d 14             	lea    0x14(%ebp),%ecx
433611:	8b d0                	mov    %eax,%edx
433613:	51                   	push   %ecx
433614:	ff 75 10             	push   0x10(%ebp)
433617:	51                   	push   %ecx
433618:	8b 4d 08             	mov    0x8(%ebp),%ecx
43361b:	e8 89 00 00 00       	call   0x4336a9
433620:	8b c8                	mov    %eax,%ecx
433622:	eb 0a                	jmp    0x43362e
433624:	85 c0                	test   %eax,%eax
433626:	74 06                	je     0x43362e
433628:	8b 45 08             	mov    0x8(%ebp),%eax
43362b:	c6 00 00             	movb   $0x0,(%eax)
43362e:	8b c1                	mov    %ecx,%eax
433630:	5d                   	pop    %ebp
433631:	c3                   	ret
433632:	8b ff                	mov    %edi,%edi
433634:	55                   	push   %ebp
433635:	8b ec                	mov    %esp,%ebp
433637:	33 c0                	xor    %eax,%eax
433639:	85 d2                	test   %edx,%edx
43363b:	74 08                	je     0x433645
43363d:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
433643:	76 05                	jbe    0x43364a
433645:	b8 57 00 07 80       	mov    $0x80070057,%eax
43364a:	85 c0                	test   %eax,%eax
43364c:	78 0e                	js     0x43365c
43364e:	ff 75 0c             	push   0xc(%ebp)
433651:	ff 75 08             	push   0x8(%ebp)
433654:	51                   	push   %ecx
433655:	e8 4f 00 00 00       	call   0x4336a9
43365a:	eb 07                	jmp    0x433663
43365c:	85 d2                	test   %edx,%edx
43365e:	74 03                	je     0x433663
433660:	c6 01 00             	movb   $0x0,(%ecx)
433663:	5d                   	pop    %ebp
433664:	c2 08 00             	ret    $0x8
433667:	8b ff                	mov    %edi,%edi
433669:	55                   	push   %ebp
43366a:	8b ec                	mov    %esp,%ebp
43366c:	51                   	push   %ecx
43366d:	56                   	push   %esi
43366e:	8b 75 0c             	mov    0xc(%ebp),%esi
433671:	6a 40                	push   $0x40
433673:	5a                   	pop    %edx
433674:	2b f1                	sub    %ecx,%esi
433676:	8d 42 ff             	lea    -0x1(%edx),%eax
433679:	85 c0                	test   %eax,%eax