430543:	e8 00 fe ff ff       	call   0x430348
430548:	03 c3                	add    %ebx,%eax
43054a:	50                   	push   %eax
43054b:	e8 5d 4c 00 00       	call   0x4351ad
430550:	59                   	pop    %ecx
430551:	8b f8                	mov    %eax,%edi
430553:	8d 45 0c             	lea    0xc(%ebp),%eax
430556:	50                   	push   %eax
430557:	56                   	push   %esi
430558:	ff 75 08             	push   0x8(%ebp)
43055b:	e8 e8 fd ff ff       	call   0x430348
430560:	03 c3                	add    %ebx,%eax
430562:	50                   	push   %eax
430563:	e8 0a 4e 00 00       	call   0x435372
430568:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43056b:	e8 d8 fd ff ff       	call   0x430348
430570:	03 c3                	add    %ebx,%eax
430572:	50                   	push   %eax
430573:	57                   	push   %edi
430574:	e8 d0 4c 00 00       	call   0x435249
430579:	83 c4 18             	add    $0x18,%esp
43057c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
430583:	e8 09 00 00 00       	call   0x430591
430588:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43058b:	e8 35 48 00 00       	call   0x434dc5
430590:	c3                   	ret
430591:	e8 b2 fd ff ff       	call   0x430348
430596:	83 c0 20             	add    $0x20,%eax
430599:	50                   	push   %eax
43059a:	6a 01                	push   $0x1
43059c:	e8 2d ff ff ff       	call   0x4304ce
4305a1:	59                   	pop    %ecx
4305a2:	59                   	pop    %ecx
4305a3:	c3                   	ret
4305a4:	8b ff                	mov    %edi,%edi
4305a6:	55                   	push   %ebp
4305a7:	8b ec                	mov    %esp,%ebp
4305a9:	8d 45 10             	lea    0x10(%ebp),%eax
4305ac:	50                   	push   %eax
4305ad:	ff 75 0c             	push   0xc(%ebp)
4305b0:	ff 75 08             	push   0x8(%ebp)
4305b3:	e8 bb 62 00 00       	call   0x436873
4305b8:	83 c4 0c             	add    $0xc,%esp
4305bb:	5d                   	pop    %ebp
4305bc:	c3                   	ret
4305bd:	8b ff                	mov    %edi,%edi
4305bf:	55                   	push   %ebp
4305c0:	8b ec                	mov    %esp,%ebp
4305c2:	8d 45 10             	lea    0x10(%ebp),%eax
4305c5:	50                   	push   %eax
4305c6:	ff 75 0c             	push   0xc(%ebp)
4305c9:	ff 75 08             	push   0x8(%ebp)
4305cc:	e8 bf 62 00 00       	call   0x436890
4305d1:	83 c4 0c             	add    $0xc,%esp
4305d4:	5d                   	pop    %ebp
4305d5:	c3                   	ret
4305d6:	8b ff                	mov    %edi,%edi
4305d8:	55                   	push   %ebp
4305d9:	8b ec                	mov    %esp,%ebp
4305db:	8d 45 0c             	lea    0xc(%ebp),%eax
4305de:	50                   	push   %eax
4305df:	6a 00                	push   $0x0
4305e1:	ff 75 08             	push   0x8(%ebp)
4305e4:	e8 a7 62 00 00       	call   0x436890
4305e9:	83 c4 0c             	add    $0xc,%esp
4305ec:	5d                   	pop    %ebp
4305ed:	c3                   	ret
4305ee:	8b ff                	mov    %edi,%edi
4305f0:	55                   	push   %ebp
4305f1:	8b ec                	mov    %esp,%ebp
4305f3:	8d 45 10             	lea    0x10(%ebp),%eax
4305f6:	50                   	push   %eax
4305f7:	ff 75 0c             	push   0xc(%ebp)
4305fa:	ff 75 08             	push   0x8(%ebp)
4305fd:	e8 ab 62 00 00       	call   0x4368ad
430602:	83 c4 0c             	add    $0xc,%esp
430605:	5d                   	pop    %ebp
430606:	c3                   	ret
430607:	8b ff                	mov    %edi,%edi
430609:	55                   	push   %ebp
43060a:	8b ec                	mov    %esp,%ebp
43060c:	8d 45 0c             	lea    0xc(%ebp),%eax
43060f:	50                   	push   %eax
430610:	6a 00                	push   $0x0
430612:	ff 75 08             	push   0x8(%ebp)
430615:	e8 93 62 00 00       	call   0x4368ad
43061a:	83 c4 0c             	add    $0xc,%esp
43061d:	5d                   	pop    %ebp
43061e:	c3                   	ret
43061f:	8b ff                	mov    %edi,%edi
430621:	55                   	push   %ebp
430622:	8b ec                	mov    %esp,%ebp
430624:	8b 0d a8 f6 46 00    	mov    0x46f6a8,%ecx
43062a:	8b 55 08             	mov    0x8(%ebp),%edx
43062d:	83 c9 01             	or     $0x1,%ecx
430630:	33 c0                	xor    %eax,%eax
430632:	39 0d c8 07 47 00    	cmp    %ecx,0x4707c8
430638:	0f 94 c0             	sete   %al
43063b:	f7 da                	neg    %edx
43063d:	1b d2                	sbb    %edx,%edx
43063f:	23 d1                	and    %ecx,%edx
430641:	89 15 c8 07 47 00    	mov    %edx,0x4707c8
430647:	5d                   	pop    %ebp
430648:	c3                   	ret
430649:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
43064e:	83 c8 01             	or     $0x1,%eax
430651:	33 c9                	xor    %ecx,%ecx
430653:	39 05 c8 07 47 00    	cmp    %eax,0x4707c8
430659:	0f 94 c1             	sete   %cl
43065c:	8b c1                	mov    %ecx,%eax
43065e:	c3                   	ret
43065f:	8b ff                	mov    %edi,%edi
430661:	55                   	push   %ebp
430662:	8b ec                	mov    %esp,%ebp
430664:	83 ec 20             	sub    $0x20,%esp
430667:	53                   	push   %ebx
430668:	57                   	push   %edi
430669:	33 db                	xor    %ebx,%ebx
43066b:	6a 07                	push   $0x7
43066d:	33 c0                	xor    %eax,%eax
43066f:	59                   	pop    %ecx
430670:	8d 7d e4             	lea    -0x1c(%ebp),%edi
430673:	89 5d e0             	mov    %ebx,-0x20(%ebp)
430676:	f3 ab                	rep stos %eax,%es:(%edi)
430678:	39 5d 10             	cmp    %ebx,0x10(%ebp)
43067b:	75 18                	jne    0x430695
43067d:	e8 26 43 00 00       	call   0x4349a8
430682:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
430688:	e8 e1 3c 00 00       	call   0x43436e
43068d:	83 c8 ff             	or     $0xffffffff,%eax
430690:	e9 96 00 00 00       	jmp    0x43072b
430695:	8b 45 0c             	mov    0xc(%ebp),%eax
430698:	56                   	push   %esi
430699:	8b 75 08             	mov    0x8(%ebp),%esi
43069c:	3b c3                	cmp    %ebx,%eax
43069e:	74 19                	je     0x4306b9
4306a0:	3b f3                	cmp    %ebx,%esi
4306a2:	75 15                	jne    0x4306b9
4306a4:	e8 ff 42 00 00       	call   0x4349a8
4306a9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4306af:	e8 ba 3c 00 00       	call   0x43436e
4306b4:	83 c8 ff             	or     $0xffffffff,%eax
4306b7:	eb 71                	jmp    0x43072a
4306b9:	c7 45 ec 42 00 00 00 	movl   $0x42,-0x14(%ebp)
4306c0:	89 75 e8             	mov    %esi,-0x18(%ebp)
4306c3:	89 75 e0             	mov    %esi,-0x20(%ebp)
4306c6:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
4306cb:	76 09                	jbe    0x4306d6
4306cd:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
4306d4:	eb 05                	jmp    0x4306db
4306d6:	03 c0                	add    %eax,%eax
4306d8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4306db:	8d 45 14             	lea    0x14(%ebp),%eax
4306de:	50                   	push   %eax
4306df:	53                   	push   %ebx
4306e0:	ff 75 10             	push   0x10(%ebp)
4306e3:	8d 45 e0             	lea    -0x20(%ebp),%eax
4306e6:	50                   	push   %eax
4306e7:	e8 53 64 00 00       	call   0x436b3f
4306ec:	83 c4 10             	add    $0x10,%esp
4306ef:	8b f8                	mov    %eax,%edi
4306f1:	3b f3                	cmp    %ebx,%esi
4306f3:	74 35                	je     0x43072a
4306f5:	ff 4d e4             	decl   -0x1c(%ebp)
4306f8:	78 0a                	js     0x430704
4306fa:	8b 45 e0             	mov    -0x20(%ebp),%eax
4306fd:	88 18                	mov    %bl,(%eax)
4306ff:	ff 45 e0             	incl   -0x20(%ebp)
430702:	eb 0c                	jmp    0x430710
430704:	8d 45 e0             	lea    -0x20(%ebp),%eax
430707:	50                   	push   %eax
430708:	53                   	push   %ebx
430709:	e8 10 62 00 00       	call   0x43691e
43070e:	59                   	pop    %ecx
43070f:	59                   	pop    %ecx
430710:	ff 4d e4             	decl   -0x1c(%ebp)
430713:	78 07                	js     0x43071c
430715:	8b 45 e0             	mov    -0x20(%ebp),%eax
430718:	88 18                	mov    %bl,(%eax)
43071a:	eb 0c                	jmp    0x430728
43071c:	8d 45 e0             	lea    -0x20(%ebp),%eax
43071f:	50                   	push   %eax
430720:	53                   	push   %ebx
430721:	e8 f8 61 00 00       	call   0x43691e
430726:	59                   	pop    %ecx
430727:	59                   	pop    %ecx
430728:	8b c7                	mov    %edi,%eax
43072a:	5e                   	pop    %esi
43072b:	5f                   	pop    %edi
43072c:	5b                   	pop    %ebx
43072d:	c9                   	leave
43072e:	c3                   	ret
43072f:	8b ff                	mov    %edi,%edi
430731:	55                   	push   %ebp
430732:	8b ec                	mov    %esp,%ebp
430734:	8d 45 18             	lea    0x18(%ebp),%eax
430737:	50                   	push   %eax
430738:	ff 75 14             	push   0x14(%ebp)
43073b:	ff 75 10             	push   0x10(%ebp)
43073e:	ff 75 0c             	push   0xc(%ebp)
430741:	ff 75 08             	push   0x8(%ebp)
430744:	e8 be 6f 00 00       	call   0x437707
430749:	83 c4 14             	add    $0x14,%esp
43074c:	5d                   	pop    %ebp
43074d:	c3                   	ret
43074e:	8b ff                	mov    %edi,%edi
430750:	55                   	push   %ebp
430751:	8b ec                	mov    %esp,%ebp
430753:	6a 0a                	push   $0xa
430755:	6a 00                	push   $0x0
430757:	ff 75 08             	push   0x8(%ebp)
43075a:	e8 c1 72 00 00       	call   0x437a20
43075f:	83 c4 0c             	add    $0xc,%esp
430762:	5d                   	pop    %ebp
430763:	c3                   	ret
430764:	8b ff                	mov    %edi,%edi
430766:	55                   	push   %ebp
430767:	8b ec                	mov    %esp,%ebp
430769:	ff 75 0c             	push   0xc(%ebp)
43076c:	6a 0a                	push   $0xa
43076e:	6a 00                	push   $0x0
430770:	ff 75 08             	push   0x8(%ebp)
430773:	e8 d3 72 00 00       	call   0x437a4b
430778:	83 c4 10             	add    $0x10,%esp
43077b:	5d                   	pop    %ebp
43077c:	c3                   	ret
43077d:	8b ff                	mov    %edi,%edi
43077f:	55                   	push   %ebp
430780:	8b ec                	mov    %esp,%ebp
430782:	5d                   	pop    %ebp
430783:	e9 c6 ff ff ff       	jmp    0x43074e
430788:	8b ff                	mov    %edi,%edi
43078a:	55                   	push   %ebp
43078b:	8b ec                	mov    %esp,%ebp
43078d:	5d                   	pop    %ebp
43078e:	e9 d1 ff ff ff       	jmp    0x430764
430793:	8b ff                	mov    %edi,%edi
430795:	55                   	push   %ebp
430796:	8b ec                	mov    %esp,%ebp
430798:	6a 0a                	push   $0xa
43079a:	6a 00                	push   $0x0
43079c:	ff 75 08             	push   0x8(%ebp)
43079f:	e8 aa 75 00 00       	call   0x437d4e
4307a4:	83 c4 0c             	add    $0xc,%esp
4307a7:	5d                   	pop    %ebp
4307a8:	c3                   	ret
4307a9:	8b ff                	mov    %edi,%edi
4307ab:	55                   	push   %ebp
4307ac:	8b ec                	mov    %esp,%ebp
4307ae:	ff 75 0c             	push   0xc(%ebp)
4307b1:	6a 0a                	push   $0xa
4307b3:	6a 00                	push   $0x0
4307b5:	ff 75 08             	push   0x8(%ebp)
4307b8:	e8 bc 75 00 00       	call   0x437d79
4307bd:	83 c4 10             	add    $0x10,%esp
4307c0:	5d                   	pop    %ebp
4307c1:	c3                   	ret
4307c2:	8b ff                	mov    %edi,%edi
4307c4:	55                   	push   %ebp
4307c5:	8b ec                	mov    %esp,%ebp
4307c7:	83 3d d4 07 47 00 02 	cmpl   $0x2,0x4707d4
4307ce:	74 05                	je     0x4307d5
4307d0:	e8 9f 49 00 00       	call   0x435174
4307d5:	ff 75 08             	push   0x8(%ebp)
4307d8:	e8 e8 47 00 00       	call   0x434fc5
4307dd:	68 ff 00 00 00       	push   $0xff
4307e2:	e8 8e f6 ff ff       	call   0x42fe75
4307e7:	59                   	pop    %ecx
4307e8:	59                   	pop    %ecx
4307e9:	5d                   	pop    %ebp
4307ea:	c3                   	ret
4307eb:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
4307f0:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
4307f7:	74 03                	je     0x4307fc
4307f9:	33 c0                	xor    %eax,%eax
4307fb:	c3                   	ret
4307fc:	a1 3c 00 40 00       	mov    0x40003c,%eax
430801:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
430808:	45 00 00
43080b:	75 ec                	jne    0x4307f9
43080d:	b9 0b 01 00 00       	mov    $0x10b,%ecx
430812:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
430819:	75 de                	jne    0x4307f9
43081b:	83 b8 74 00 40 00 0e 	cmpl   $0xe,0x400074(%eax)
430822:	76 d5                	jbe    0x4307f9
430824:	33 c9                	xor    %ecx,%ecx
430826:	39 88 e8 00 40 00    	cmp    %ecx,0x4000e8(%eax)
43082c:	0f 95 c1             	setne  %cl
43082f:	8b c1                	mov    %ecx,%eax
430831:	c3                   	ret
430832:	6a 14                	push   $0x14
430834:	68 b0 db 46 00       	push   $0x46dbb0
430839:	e8 42 45 00 00       	call   0x434d80
43083e:	33 f6                	xor    %esi,%esi
430840:	39 35 9c 18 47 00    	cmp    %esi,0x47189c
430846:	75 0b                	jne    0x430853
430848:	56                   	push   %esi
430849:	56                   	push   %esi
43084a:	6a 01                	push   $0x1
43084c:	56                   	push   %esi
43084d:	ff 15 e4 34 47 00    	call   *0x4734e4
430853:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
430858:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
43085f:	74 05                	je     0x430866
430861:	89 75 e4             	mov    %esi,-0x1c(%ebp)
430864:	eb 36                	jmp    0x43089c
430866:	a1 3c 00 40 00       	mov    0x40003c,%eax
43086b:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
430872:	45 00 00
430875:	75 ea                	jne    0x430861
430877:	b9 0b 01 00 00       	mov    $0x10b,%ecx
43087c:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
430883:	75 dc                	jne    0x430861
430885:	83 b8 74 00 40 00 0e 	cmpl   $0xe,0x400074(%eax)
43088c:	76 d3                	jbe    0x430861
43088e:	33 c9                	xor    %ecx,%ecx
430890:	39 b0 e8 00 40 00    	cmp    %esi,0x4000e8(%eax)
430896:	0f 95 c1             	setne  %cl
430899:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
43089c:	e8 f5 7a 00 00       	call   0x438396
4308a1:	85 c0                	test   %eax,%eax
4308a3:	75 08                	jne    0x4308ad
4308a5:	6a 1c                	push   $0x1c
4308a7:	e8 16 ff ff ff       	call   0x4307c2
4308ac:	59                   	pop    %ecx
4308ad:	e8 39 3f 00 00       	call   0x4347eb
4308b2:	85 c0                	test   %eax,%eax
4308b4:	75 08                	jne    0x4308be
4308b6:	6a 10                	push   $0x10
4308b8:	e8 05 ff ff ff       	call   0x4307c2
4308bd:	59                   	pop    %ecx
4308be:	e8 f4 42 00 00       	call   0x434bb7
4308c3:	89 75 fc             	mov    %esi,-0x4(%ebp)
4308c6:	e8 af 56 00 00       	call   0x435f7a
4308cb:	85 c0                	test   %eax,%eax
4308cd:	79 08                	jns    0x4308d7
4308cf:	6a 1b                	push   $0x1b
4308d1:	e8 be f8 ff ff       	call   0x430194
4308d6:	59                   	pop    %ecx
4308d7:	ff 15 e0 34 47 00    	call   *0x4734e0
4308dd:	a3 8c 18 47 00       	mov    %eax,0x47188c
4308e2:	e8 18 7a 00 00       	call   0x4382ff
4308e7:	a3 cc 07 47 00       	mov    %eax,0x4707cc
4308ec:	e8 53 79 00 00       	call   0x438244
4308f1:	85 c0                	test   %eax,%eax
4308f3:	79 08                	jns    0x4308fd
4308f5:	6a 08                	push   $0x8
4308f7:	e8 98 f8 ff ff       	call   0x430194
4308fc:	59                   	pop    %ecx
4308fd:	e8 bd 76 00 00       	call   0x437fbf