438284:	6a 05                	push   $0x5
438286:	5a                   	pop    %edx
438287:	e8 02 ec 00 00       	call   0x446e8e
43828c:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
438292:	74 2b                	je     0x4382bf
438294:	8b 45 14             	mov    0x14(%ebp),%eax
438297:	8b 55 1c             	mov    0x1c(%ebp),%edx
43829a:	8b 4d 18             	mov    0x18(%ebp),%ecx
43829d:	ff 30                	push   (%eax)
43829f:	8b 12                	mov    (%edx),%edx
4382a1:	8b 09                	mov    (%ecx),%ecx
4382a3:	e8 aa 6a fe ff       	call   0x41ed52
4382a8:	eb 0d                	jmp    0x4382b7
4382aa:	8b 55 24             	mov    0x24(%ebp),%edx
4382ad:	8b 4d 08             	mov    0x8(%ebp),%ecx
4382b0:	89 0a                	mov    %ecx,(%edx)
4382b2:	8b 4d 20             	mov    0x20(%ebp),%ecx
4382b5:	21 39                	and    %edi,(%ecx)
4382b7:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
4382bd:	75 07                	jne    0x4382c6
4382bf:	b8 02 10 04 80       	mov    $0x80041002,%eax
4382c4:	eb 41                	jmp    0x438307
4382c6:	85 ff                	test   %edi,%edi
4382c8:	79 0f                	jns    0x4382d9
4382ca:	57                   	push   %edi
4382cb:	ff 15 a0 12 45 00    	call   *0x4512a0
4382d1:	8b c8                	mov    %eax,%ecx
4382d3:	ff 15 a4 12 45 00    	call   *0x4512a4
4382d9:	a1 00 f0 44 00       	mov    0x44f000,%eax
4382de:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4382e3:	74 20                	je     0x438305
4382e5:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4382e9:	74 1a                	je     0x438305
4382eb:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
4382ef:	72 14                	jb     0x438305
4382f1:	57                   	push   %edi
4382f2:	ff 70 14             	push   0x14(%eax)
4382f5:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
4382fa:	ff 70 10             	push   0x10(%eax)
4382fd:	6a 45                	push   $0x45
4382ff:	59                   	pop    %ecx
438300:	e8 c1 84 ff ff       	call   0x4307c6
438305:	8b c7                	mov    %edi,%eax
438307:	5f                   	pop    %edi
438308:	5e                   	pop    %esi
438309:	5b                   	pop    %ebx
43830a:	c9                   	leave
43830b:	c2 28 00             	ret    $0x28
43830e:	8b ff                	mov    %edi,%edi
438310:	55                   	push   %ebp
438311:	8b ec                	mov    %esp,%ebp
438313:	83 ec 0c             	sub    $0xc,%esp
438316:	8b 45 2c             	mov    0x2c(%ebp),%eax
438319:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43831c:	33 c9                	xor    %ecx,%ecx
43831e:	53                   	push   %ebx
43831f:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
438322:	89 08                	mov    %ecx,(%eax)
438324:	8b 45 30             	mov    0x30(%ebp),%eax
438327:	56                   	push   %esi
438328:	8b 75 20             	mov    0x20(%ebp),%esi
43832b:	57                   	push   %edi
43832c:	89 08                	mov    %ecx,(%eax)
43832e:	8b 45 18             	mov    0x18(%ebp),%eax
438331:	89 08                	mov    %ecx,(%eax)
438333:	89 0b                	mov    %ecx,(%ebx)
438335:	89 0e                	mov    %ecx,(%esi)
438337:	38 4d 08             	cmp    %cl,0x8(%ebp)
43833a:	0f 84 b1 00 00 00    	je     0x4383f1
438340:	89 4d f4             	mov    %ecx,-0xc(%ebp)
438343:	8b d6                	mov    %esi,%edx
438345:	8d 4d f4             	lea    -0xc(%ebp),%ecx
438348:	51                   	push   %ecx
438349:	50                   	push   %eax
43834a:	8b cb                	mov    %ebx,%ecx
43834c:	e8 43 64 fe ff       	call   0x41e794
438351:	8b f8                	mov    %eax,%edi
438353:	85 ff                	test   %edi,%edi
438355:	0f 88 fd 01 00 00    	js     0x438558
43835b:	ff 75 2c             	push   0x2c(%ebp)
43835e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438361:	33 d2                	xor    %edx,%edx
438363:	ff 75 30             	push   0x30(%ebp)
438366:	83 c1 40             	add    $0x40,%ecx
438369:	ff 75 0c             	push   0xc(%ebp)
43836c:	68 c8 6b 40 00       	push   $0x406bc8
438371:	e8 60 68 fe ff       	call   0x41ebd6
438376:	8b f8                	mov    %eax,%edi
438378:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
43837e:	75 13                	jne    0x438393
438380:	8b 45 28             	mov    0x28(%ebp),%eax
438383:	8b 4d 0c             	mov    0xc(%ebp),%ecx
438386:	89 08                	mov    %ecx,(%eax)
438388:	8b 45 24             	mov    0x24(%ebp),%eax
43838b:	83 20 00             	andl   $0x0,(%eax)
43838e:	e9 cd 01 00 00       	jmp    0x438560
438393:	85 ff                	test   %edi,%edi
438395:	78 44                	js     0x4383db
438397:	8b 45 24             	mov    0x24(%ebp),%eax
43839a:	8b 75 28             	mov    0x28(%ebp),%esi
43839d:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4383a3:	8b 45 30             	mov    0x30(%ebp),%eax
4383a6:	8b 00                	mov    (%eax),%eax
4383a8:	89 06                	mov    %eax,(%esi)
4383aa:	e8 9e e6 00 00       	call   0x446a4d
4383af:	8b 0e                	mov    (%esi),%ecx
4383b1:	50                   	push   %eax
4383b2:	e8 78 eb 00 00       	call   0x446f2f
4383b7:	8b f8                	mov    %eax,%edi
4383b9:	85 ff                	test   %edi,%edi
4383bb:	0f 89 97 01 00 00    	jns    0x438558
4383c1:	8b 45 2c             	mov    0x2c(%ebp),%eax
4383c4:	33 d2                	xor    %edx,%edx
4383c6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4383c9:	ff 30                	push   (%eax)
4383cb:	8b 45 30             	mov    0x30(%ebp),%eax
4383ce:	8d 49 40             	lea    0x40(%ecx),%ecx
4383d1:	ff 30                	push   (%eax)
4383d3:	e8 b6 ea 00 00       	call   0x446e8e
4383d8:	8b 75 20             	mov    0x20(%ebp),%esi
4383db:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
4383e1:	0f 84 79 01 00 00    	je     0x438560
4383e7:	8b 4d 18             	mov    0x18(%ebp),%ecx
4383ea:	ff 31                	push   (%ecx)
4383ec:	e9 5e 01 00 00       	jmp    0x43854f
4383f1:	8d 45 f8             	lea    -0x8(%ebp),%eax
4383f4:	c7 45 f4 03 00 00 00 	movl   $0x3,-0xc(%ebp)
4383fb:	50                   	push   %eax
4383fc:	68 84 7a 40 00       	push   $0x407a84
438401:	89 4d f8             	mov    %ecx,-0x8(%ebp)
438404:	ff 15 58 30 45 00    	call   *0x453058
43840a:	85 c0                	test   %eax,%eax
43840c:	0f 88 97 00 00 00    	js     0x4384a9
438412:	ff 15 60 30 45 00    	call   *0x453060
438418:	8b f8                	mov    %eax,%edi
43841a:	85 ff                	test   %edi,%edi
43841c:	78 0e                	js     0x43842c
43841e:	e8 2a e6 00 00       	call   0x446a4d
438423:	89 45 f4             	mov    %eax,-0xc(%ebp)
438426:	ff 15 64 30 45 00    	call   *0x453064
43842c:	8b 45 f8             	mov    -0x8(%ebp),%eax
43842f:	50                   	push   %eax
438430:	8b 08                	mov    (%eax),%ecx
438432:	8b 71 08             	mov    0x8(%ecx),%esi
438435:	8b ce                	mov    %esi,%ecx
438437:	ff 15 c4 12 45 00    	call   *0x4512c4
43843d:	ff d6                	call   *%esi
43843f:	85 ff                	test   %edi,%edi
438441:	0f 88 11 01 00 00    	js     0x438558
438447:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
43844b:	75 59                	jne    0x4384a6
43844d:	53                   	push   %ebx
43844e:	6a 00                	push   $0x0
438450:	ff 15 5c 30 45 00    	call   *0x45305c
438456:	8b f8                	mov    %eax,%edi
438458:	85 ff                	test   %edi,%edi
43845a:	78 37                	js     0x438493
43845c:	8b 03                	mov    (%ebx),%eax
43845e:	8b 5d 20             	mov    0x20(%ebp),%ebx
438461:	53                   	push   %ebx
438462:	68 b4 7a 40 00       	push   $0x407ab4
438467:	8b 08                	mov    (%eax),%ecx
438469:	50                   	push   %eax
43846a:	8b 31                	mov    (%ecx),%esi
43846c:	8b ce                	mov    %esi,%ecx
43846e:	ff 15 c4 12 45 00    	call   *0x4512c4
438474:	ff d6                	call   *%esi
438476:	8b f8                	mov    %eax,%edi
438478:	85 ff                	test   %edi,%edi
43847a:	78 17                	js     0x438493
43847c:	8b 03                	mov    (%ebx),%eax
43847e:	50                   	push   %eax
43847f:	8b 08                	mov    (%eax),%ecx
438481:	8b 71 18             	mov    0x18(%ecx),%esi
438484:	8b ce                	mov    %esi,%ecx
438486:	ff 15 c4 12 45 00    	call   *0x4512c4
43848c:	ff d6                	call   *%esi
43848e:	8b 4d 18             	mov    0x18(%ebp),%ecx
438491:	89 01                	mov    %eax,(%ecx)
438493:	8b 4d 28             	mov    0x28(%ebp),%ecx
438496:	8b 45 0c             	mov    0xc(%ebp),%eax
438499:	89 01                	mov    %eax,(%ecx)
43849b:	8b 45 24             	mov    0x24(%ebp),%eax
43849e:	83 20 00             	andl   $0x0,(%eax)
4384a1:	e9 b2 00 00 00       	jmp    0x438558
4384a6:	8b 75 20             	mov    0x20(%ebp),%esi
4384a9:	8b 4d 18             	mov    0x18(%ebp),%ecx
4384ac:	8d 45 f4             	lea    -0xc(%ebp),%eax
4384af:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4384b3:	8b d6                	mov    %esi,%edx
4384b5:	50                   	push   %eax
4384b6:	51                   	push   %ecx
4384b7:	8b cb                	mov    %ebx,%ecx
4384b9:	e8 d6 62 fe ff       	call   0x41e794
4384be:	8b f8                	mov    %eax,%edi
4384c0:	85 ff                	test   %edi,%edi
4384c2:	0f 88 90 00 00 00    	js     0x438558
4384c8:	ff 75 2c             	push   0x2c(%ebp)
4384cb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4384ce:	33 d2                	xor    %edx,%edx
4384d0:	ff 75 30             	push   0x30(%ebp)
4384d3:	83 c1 40             	add    $0x40,%ecx
4384d6:	ff 75 0c             	push   0xc(%ebp)
4384d9:	68 c8 6b 40 00       	push   $0x406bc8
4384de:	e8 f3 66 fe ff       	call   0x41ebd6
4384e3:	8b f8                	mov    %eax,%edi
4384e5:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
4384eb:	75 11                	jne    0x4384fe
4384ed:	8b 45 28             	mov    0x28(%ebp),%eax
4384f0:	33 ff                	xor    %edi,%edi
4384f2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4384f5:	89 08                	mov    %ecx,(%eax)
4384f7:	8b 45 24             	mov    0x24(%ebp),%eax
4384fa:	21 38                	and    %edi,(%eax)
4384fc:	eb 7c                	jmp    0x43857a
4384fe:	85 ff                	test   %edi,%edi
438500:	78 40                	js     0x438542
438502:	8b 45 24             	mov    0x24(%ebp),%eax
438505:	8b 75 28             	mov    0x28(%ebp),%esi
438508:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
43850e:	8b 45 30             	mov    0x30(%ebp),%eax
438511:	8b 00                	mov    (%eax),%eax
438513:	89 06                	mov    %eax,(%esi)
438515:	e8 33 e5 00 00       	call   0x446a4d
43851a:	8b 0e                	mov    (%esi),%ecx
43851c:	50                   	push   %eax
43851d:	e8 0d ea 00 00       	call   0x446f2f
438522:	8b f8                	mov    %eax,%edi
438524:	85 ff                	test   %edi,%edi
438526:	79 30                	jns    0x438558
438528:	8b 45 2c             	mov    0x2c(%ebp),%eax
43852b:	33 d2                	xor    %edx,%edx
43852d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438530:	ff 30                	push   (%eax)
438532:	8b 45 30             	mov    0x30(%ebp),%eax
438535:	8d 49 40             	lea    0x40(%ecx),%ecx
438538:	ff 30                	push   (%eax)
43853a:	e8 4f e9 00 00       	call   0x446e8e
43853f:	8b 75 20             	mov    0x20(%ebp),%esi
438542:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
438548:	74 16                	je     0x438560
43854a:	8b 45 18             	mov    0x18(%ebp),%eax
43854d:	ff 30                	push   (%eax)
43854f:	8b 16                	mov    (%esi),%edx
438551:	8b 0b                	mov    (%ebx),%ecx
438553:	e8 fa 67 fe ff       	call   0x41ed52
438558:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
43855e:	75 07                	jne    0x438567
438560:	b8 02 10 04 80       	mov    $0x80041002,%eax
438565:	eb 41                	jmp    0x4385a8
438567:	85 ff                	test   %edi,%edi
438569:	79 0f                	jns    0x43857a
43856b:	57                   	push   %edi
43856c:	ff 15 a0 12 45 00    	call   *0x4512a0
438572:	8b c8                	mov    %eax,%ecx
438574:	ff 15 a4 12 45 00    	call   *0x4512a4
43857a:	a1 00 f0 44 00       	mov    0x44f000,%eax
43857f:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
438584:	74 20                	je     0x4385a6
438586:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43858a:	74 1a                	je     0x4385a6
43858c:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
438590:	72 14                	jb     0x4385a6
438592:	57                   	push   %edi
438593:	ff 70 14             	push   0x14(%eax)
438596:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
43859b:	ff 70 10             	push   0x10(%eax)
43859e:	6a 0c                	push   $0xc
4385a0:	59                   	pop    %ecx
4385a1:	e8 20 82 ff ff       	call   0x4307c6
4385a6:	8b c7                	mov    %edi,%eax
4385a8:	5f                   	pop    %edi
4385a9:	5e                   	pop    %esi
4385aa:	5b                   	pop    %ebx
4385ab:	c9                   	leave
4385ac:	c2 2c 00             	ret    $0x2c
4385af:	8b ff                	mov    %edi,%edi
4385b1:	55                   	push   %ebp
4385b2:	8b ec                	mov    %esp,%ebp
4385b4:	83 ec 0c             	sub    $0xc,%esp
4385b7:	8b 45 2c             	mov    0x2c(%ebp),%eax
4385ba:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4385bd:	33 c9                	xor    %ecx,%ecx
4385bf:	53                   	push   %ebx
4385c0:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
4385c3:	89 08                	mov    %ecx,(%eax)
4385c5:	8b 45 30             	mov    0x30(%ebp),%eax
4385c8:	56                   	push   %esi
4385c9:	8b 75 20             	mov    0x20(%ebp),%esi
4385cc:	57                   	push   %edi
4385cd:	89 08                	mov    %ecx,(%eax)
4385cf:	8b 45 18             	mov    0x18(%ebp),%eax
4385d2:	89 08                	mov    %ecx,(%eax)
4385d4:	89 0b                	mov    %ecx,(%ebx)
4385d6:	89 0e                	mov    %ecx,(%esi)
4385d8:	38 4d 08             	cmp    %cl,0x8(%ebp)
4385db:	0f 84 b7 00 00 00    	je     0x438698
4385e1:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4385e4:	8b d6                	mov    %esi,%edx
4385e6:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4385e9:	51                   	push   %ecx
4385ea:	50                   	push   %eax
4385eb:	8b cb                	mov    %ebx,%ecx
4385ed:	e8 a2 61 fe ff       	call   0x41e794
4385f2:	8b f8                	mov    %eax,%edi
4385f4:	85 ff                	test   %edi,%edi
4385f6:	0f 88 0c 02 00 00    	js     0x438808
4385fc:	ff 75 2c             	push   0x2c(%ebp)
4385ff:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438602:	ff 75 30             	push   0x30(%ebp)
438605:	8b 55 14             	mov    0x14(%ebp),%edx
438608:	81 c1 f0 00 00 00    	add    $0xf0,%ecx
43860e:	ff 75 0c             	push   0xc(%ebp)
438611:	ff 75 10             	push   0x10(%ebp)
438614:	e8 bd 65 fe ff       	call   0x41ebd6
438619:	8b f8                	mov    %eax,%edi
43861b:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
438621:	75 13                	jne    0x438636
438623:	8b 45 28             	mov    0x28(%ebp),%eax
438626:	8b 4d 0c             	mov    0xc(%ebp),%ecx
438629:	89 08                	mov    %ecx,(%eax)
43862b:	8b 45 24             	mov    0x24(%ebp),%eax
43862e:	83 20 00             	andl   $0x0,(%eax)
438631:	e9 da 01 00 00       	jmp    0x438810
438636:	85 ff                	test   %edi,%edi
438638:	78 48                	js     0x438682
43863a:	8b 45 24             	mov    0x24(%ebp),%eax
43863d:	8b 75 28             	mov    0x28(%ebp),%esi
438640:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
438646:	8b 45 30             	mov    0x30(%ebp),%eax
438649:	8b 00                	mov    (%eax),%eax
43864b:	89 06                	mov    %eax,(%esi)
43864d:	e8 fb e3 00 00       	call   0x446a4d
438652:	8b 0e                	mov    (%esi),%ecx
438654:	50                   	push   %eax
438655:	e8 d5 e8 00 00       	call   0x446f2f
43865a:	8b f8                	mov    %eax,%edi
43865c:	85 ff                	test   %edi,%edi
43865e:	0f 89 a4 01 00 00    	jns    0x438808
438664:	8b 45 2c             	mov    0x2c(%ebp),%eax
438667:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43866a:	8b 55 14             	mov    0x14(%ebp),%edx
43866d:	ff 30                	push   (%eax)
43866f:	8b 45 30             	mov    0x30(%ebp),%eax
438672:	8d 89 f0 00 00 00    	lea    0xf0(%ecx),%ecx
438678:	ff 30                	push   (%eax)
43867a:	e8 0f e8 00 00       	call   0x446e8e
43867f:	8b 75 20             	mov    0x20(%ebp),%esi
438682:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
438688:	0f 84 82 01 00 00    	je     0x438810