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
43868e:	8b 4d 18             	mov    0x18(%ebp),%ecx
438691:	ff 31                	push   (%ecx)
438693:	e9 67 01 00 00       	jmp    0x4387ff
438698:	8d 45 f8             	lea    -0x8(%ebp),%eax
43869b:	c7 45 f4 03 00 00 00 	movl   $0x3,-0xc(%ebp)
4386a2:	50                   	push   %eax
4386a3:	68 84 7a 40 00       	push   $0x407a84
4386a8:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4386ab:	ff 15 58 30 45 00    	call   *0x453058
4386b1:	85 c0                	test   %eax,%eax
4386b3:	0f 88 97 00 00 00    	js     0x438750
4386b9:	ff 15 60 30 45 00    	call   *0x453060
4386bf:	8b f8                	mov    %eax,%edi
4386c1:	85 ff                	test   %edi,%edi
4386c3:	78 0e                	js     0x4386d3
4386c5:	e8 83 e3 00 00       	call   0x446a4d
4386ca:	89 45 f4             	mov    %eax,-0xc(%ebp)
4386cd:	ff 15 64 30 45 00    	call   *0x453064
4386d3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4386d6:	50                   	push   %eax
4386d7:	8b 08                	mov    (%eax),%ecx
4386d9:	8b 71 08             	mov    0x8(%ecx),%esi
4386dc:	8b ce                	mov    %esi,%ecx
4386de:	ff 15 c4 12 45 00    	call   *0x4512c4
4386e4:	ff d6                	call   *%esi
4386e6:	85 ff                	test   %edi,%edi
4386e8:	0f 88 1a 01 00 00    	js     0x438808
4386ee:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
4386f2:	75 59                	jne    0x43874d
4386f4:	53                   	push   %ebx
4386f5:	6a 00                	push   $0x0
4386f7:	ff 15 5c 30 45 00    	call   *0x45305c
4386fd:	8b f8                	mov    %eax,%edi
4386ff:	85 ff                	test   %edi,%edi
438701:	78 37                	js     0x43873a
438703:	8b 03                	mov    (%ebx),%eax
438705:	8b 5d 20             	mov    0x20(%ebp),%ebx
438708:	53                   	push   %ebx
438709:	68 b4 7a 40 00       	push   $0x407ab4
43870e:	8b 08                	mov    (%eax),%ecx
438710:	50                   	push   %eax
438711:	8b 31                	mov    (%ecx),%esi
438713:	8b ce                	mov    %esi,%ecx
438715:	ff 15 c4 12 45 00    	call   *0x4512c4
43871b:	ff d6                	call   *%esi
43871d:	8b f8                	mov    %eax,%edi
43871f:	85 ff                	test   %edi,%edi
438721:	78 17                	js     0x43873a
438723:	8b 03                	mov    (%ebx),%eax
438725:	50                   	push   %eax
438726:	8b 08                	mov    (%eax),%ecx
438728:	8b 71 18             	mov    0x18(%ecx),%esi
43872b:	8b ce                	mov    %esi,%ecx
43872d:	ff 15 c4 12 45 00    	call   *0x4512c4
438733:	ff d6                	call   *%esi
438735:	8b 4d 18             	mov    0x18(%ebp),%ecx
438738:	89 01                	mov    %eax,(%ecx)
43873a:	8b 4d 28             	mov    0x28(%ebp),%ecx
43873d:	8b 45 0c             	mov    0xc(%ebp),%eax
438740:	89 01                	mov    %eax,(%ecx)
438742:	8b 45 24             	mov    0x24(%ebp),%eax
438745:	83 20 00             	andl   $0x0,(%eax)
438748:	e9 bb 00 00 00       	jmp    0x438808
43874d:	8b 75 20             	mov    0x20(%ebp),%esi
438750:	8b 4d 18             	mov    0x18(%ebp),%ecx
438753:	8d 45 f4             	lea    -0xc(%ebp),%eax
438756:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
43875a:	8b d6                	mov    %esi,%edx
43875c:	50                   	push   %eax
43875d:	51                   	push   %ecx
43875e:	8b cb                	mov    %ebx,%ecx
438760:	e8 2f 60 fe ff       	call   0x41e794
438765:	8b f8                	mov    %eax,%edi
438767:	85 ff                	test   %edi,%edi
438769:	0f 88 99 00 00 00    	js     0x438808
43876f:	ff 75 2c             	push   0x2c(%ebp)
438772:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438775:	ff 75 30             	push   0x30(%ebp)
438778:	8b 55 14             	mov    0x14(%ebp),%edx
43877b:	81 c1 f0 00 00 00    	add    $0xf0,%ecx
438781:	ff 75 0c             	push   0xc(%ebp)
438784:	ff 75 10             	push   0x10(%ebp)
438787:	e8 4a 64 fe ff       	call   0x41ebd6
43878c:	8b f8                	mov    %eax,%edi
43878e:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
438794:	75 14                	jne    0x4387aa
438796:	8b 45 28             	mov    0x28(%ebp),%eax
438799:	33 ff                	xor    %edi,%edi
43879b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43879e:	89 08                	mov    %ecx,(%eax)
4387a0:	8b 45 24             	mov    0x24(%ebp),%eax
4387a3:	21 38                	and    %edi,(%eax)
4387a5:	e9 80 00 00 00       	jmp    0x43882a
4387aa:	85 ff                	test   %edi,%edi
4387ac:	78 44                	js     0x4387f2
4387ae:	8b 45 24             	mov    0x24(%ebp),%eax
4387b1:	8b 75 28             	mov    0x28(%ebp),%esi
4387b4:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4387ba:	8b 45 30             	mov    0x30(%ebp),%eax
4387bd:	8b 00                	mov    (%eax),%eax
4387bf:	89 06                	mov    %eax,(%esi)
4387c1:	e8 87 e2 00 00       	call   0x446a4d
4387c6:	8b 0e                	mov    (%esi),%ecx
4387c8:	50                   	push   %eax
4387c9:	e8 61 e7 00 00       	call   0x446f2f
4387ce:	8b f8                	mov    %eax,%edi
4387d0:	85 ff                	test   %edi,%edi
4387d2:	79 34                	jns    0x438808
4387d4:	8b 45 2c             	mov    0x2c(%ebp),%eax
4387d7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4387da:	8b 55 14             	mov    0x14(%ebp),%edx
4387dd:	ff 30                	push   (%eax)
4387df:	8b 45 30             	mov    0x30(%ebp),%eax
4387e2:	8d 89 f0 00 00 00    	lea    0xf0(%ecx),%ecx
4387e8:	ff 30                	push   (%eax)
4387ea:	e8 9f e6 00 00       	call   0x446e8e
4387ef:	8b 75 20             	mov    0x20(%ebp),%esi
4387f2:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
4387f8:	74 16                	je     0x438810
4387fa:	8b 45 18             	mov    0x18(%ebp),%eax
4387fd:	ff 30                	push   (%eax)
4387ff:	8b 16                	mov    (%esi),%edx
438801:	8b 0b                	mov    (%ebx),%ecx
438803:	e8 4a 65 fe ff       	call   0x41ed52
438808:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
43880e:	75 07                	jne    0x438817
438810:	b8 02 10 04 80       	mov    $0x80041002,%eax
438815:	eb 41                	jmp    0x438858
438817:	85 ff                	test   %edi,%edi
438819:	79 0f                	jns    0x43882a
43881b:	57                   	push   %edi
43881c:	ff 15 a0 12 45 00    	call   *0x4512a0
438822:	8b c8                	mov    %eax,%ecx
438824:	ff 15 a4 12 45 00    	call   *0x4512a4
43882a:	a1 00 f0 44 00       	mov    0x44f000,%eax
43882f:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
438834:	74 20                	je     0x438856
438836:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43883a:	74 1a                	je     0x438856
43883c:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
438840:	72 14                	jb     0x438856
438842:	57                   	push   %edi
438843:	ff 70 14             	push   0x14(%eax)
438846:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
43884b:	ff 70 10             	push   0x10(%eax)
43884e:	6a 46                	push   $0x46
438850:	59                   	pop    %ecx
438851:	e8 70 7f ff ff       	call   0x4307c6
438856:	8b c7                	mov    %edi,%eax
438858:	5f                   	pop    %edi
438859:	5e                   	pop    %esi
43885a:	5b                   	pop    %ebx
43885b:	c9                   	leave
43885c:	c2 2c 00             	ret    $0x2c
43885f:	cc                   	int3
438860:	8b ff                	mov    %edi,%edi
438862:	55                   	push   %ebp
438863:	8b ec                	mov    %esp,%ebp
438865:	8b 45 28             	mov    0x28(%ebp),%eax
438868:	56                   	push   %esi
438869:	57                   	push   %edi
43886a:	33 ff                	xor    %edi,%edi
43886c:	8b 30                	mov    (%eax),%esi
43886e:	57                   	push   %edi
43886f:	57                   	push   %edi
438870:	57                   	push   %edi
438871:	8b 4e 10             	mov    0x10(%esi),%ecx
438874:	57                   	push   %edi
438875:	50                   	push   %eax
438876:	ff 15 c4 12 45 00    	call   *0x4512c4
43887c:	ff 56 10             	call   *0x10(%esi)
43887f:	a1 00 f0 44 00       	mov    0x44f000,%eax
438884:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
438889:	74 22                	je     0x4388ad
43888b:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)