43049c:	6a 00                	push   $0x0
43049e:	6a 00                	push   $0x0
4304a0:	ff 75 08             	push   0x8(%ebp)
4304a3:	e8 58 04 00 00       	call   0x430900
4304a8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4304ab:	83 c4 10             	add    $0x10,%esp
4304ae:	8b 0c 8d 38 5d 45 00 	mov    0x455d38(,%ecx,4),%ecx
4304b5:	89 44 0f 20          	mov    %eax,0x20(%edi,%ecx,1)
4304b9:	89 54 0f 24          	mov    %edx,0x24(%edi,%ecx,1)
4304bd:	8b ce                	mov    %esi,%ecx
4304bf:	8b 45 f8             	mov    -0x8(%ebp),%eax
4304c2:	33 ff                	xor    %edi,%edi
4304c4:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4304c7:	8b 04 85 38 5d 45 00 	mov    0x455d38(,%eax,4),%eax
4304ce:	89 45 e8             	mov    %eax,-0x18(%ebp)
4304d1:	8b d0                	mov    %eax,%edx
4304d3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4304d6:	f6 44 10 28 48       	testb  $0x48,0x28(%eax,%edx,1)
4304db:	8b 55 08             	mov    0x8(%ebp),%edx
4304de:	0f 84 b6 00 00 00    	je     0x43059a
4304e4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4304e7:	8a 44 08 2a          	mov    0x2a(%eax,%ecx,1),%al
4304eb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4304ee:	3c 0a                	cmp    $0xa,%al
4304f0:	0f 84 a4 00 00 00    	je     0x43059a
4304f6:	85 db                	test   %ebx,%ebx
4304f8:	0f 84 9c 00 00 00    	je     0x43059a
4304fe:	8b 55 f0             	mov    -0x10(%ebp),%edx
430501:	47                   	inc    %edi
430502:	88 01                	mov    %al,(%ecx)
430504:	41                   	inc    %ecx
430505:	8b 45 f8             	mov    -0x8(%ebp),%eax
430508:	4b                   	dec    %ebx
430509:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
43050d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
430510:	8b 04 85 38 5d 45 00 	mov    0x455d38(,%eax,4),%eax
430517:	c6 44 02 2a 0a       	movb   $0xa,0x2a(%edx,%eax,1)
43051c:	8b 55 08             	mov    0x8(%ebp),%edx
43051f:	74 79                	je     0x43059a
430521:	8b 45 f8             	mov    -0x8(%ebp),%eax
430524:	8b 55 f0             	mov    -0x10(%ebp),%edx
430527:	8b 04 85 38 5d 45 00 	mov    0x455d38(,%eax,4),%eax
43052e:	8a 44 02 2b          	mov    0x2b(%edx,%eax,1),%al
430532:	8b 55 08             	mov    0x8(%ebp),%edx
430535:	3c 0a                	cmp    $0xa,%al
430537:	74 61                	je     0x43059a
430539:	85 db                	test   %ebx,%ebx
43053b:	74 5d                	je     0x43059a
43053d:	8b 55 f0             	mov    -0x10(%ebp),%edx
430540:	88 01                	mov    %al,(%ecx)
430542:	41                   	inc    %ecx
430543:	8b 45 f8             	mov    -0x8(%ebp),%eax
430546:	4b                   	dec    %ebx
430547:	80 7d ff 01          	cmpb   $0x1,-0x1(%ebp)
43054b:	6a 02                	push   $0x2
43054d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
430550:	8b 04 85 38 5d 45 00 	mov    0x455d38(,%eax,4),%eax
430557:	5f                   	pop    %edi
430558:	c6 44 02 2b 0a       	movb   $0xa,0x2b(%edx,%eax,1)
43055d:	8b 55 08             	mov    0x8(%ebp),%edx
430560:	75 38                	jne    0x43059a
430562:	8b 45 f8             	mov    -0x8(%ebp),%eax
430565:	8b 55 f0             	mov    -0x10(%ebp),%edx
430568:	8b 04 85 38 5d 45 00 	mov    0x455d38(,%eax,4),%eax
43056f:	8a 44 02 2c          	mov    0x2c(%edx,%eax,1),%al
430573:	8b 55 08             	mov    0x8(%ebp),%edx
430576:	3c 0a                	cmp    $0xa,%al
430578:	74 20                	je     0x43059a
43057a:	85 db                	test   %ebx,%ebx
43057c:	74 1c                	je     0x43059a
43057e:	88 01                	mov    %al,(%ecx)
430580:	41                   	inc    %ecx
430581:	8b 45 f8             	mov    -0x8(%ebp),%eax
430584:	4b                   	dec    %ebx
430585:	89 4d f4             	mov    %ecx,-0xc(%ebp)
430588:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43058b:	6a 03                	push   $0x3
43058d:	8b 04 85 38 5d 45 00 	mov    0x455d38(,%eax,4),%eax
430594:	5f                   	pop    %edi
430595:	c6 44 01 2c 0a       	movb   $0xa,0x2c(%ecx,%eax,1)
43059a:	52                   	push   %edx
43059b:	e8 b4 83 00 00       	call   0x438954
4305a0:	59                   	pop    %ecx
4305a1:	85 c0                	test   %eax,%eax
4305a3:	74 6f                	je     0x430614
4305a5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4305a8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4305ab:	8b 04 85 38 5d 45 00 	mov    0x455d38(,%eax,4),%eax
4305b2:	80 7c 01 28 00       	cmpb   $0x0,0x28(%ecx,%eax,1)
4305b7:	7d 5b                	jge    0x430614
4305b9:	8d 45 dc             	lea    -0x24(%ebp),%eax
4305bc:	50                   	push   %eax
4305bd:	ff 75 ec             	push   -0x14(%ebp)
4305c0:	ff 15 ac f1 43 00    	call   *0x43f1ac
4305c6:	85 c0                	test   %eax,%eax
4305c8:	74 4a                	je     0x430614
4305ca:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
4305ce:	75 48                	jne    0x430618
4305d0:	6a 00                	push   $0x0
4305d2:	8d 45 e8             	lea    -0x18(%ebp),%eax
4305d5:	d1 eb                	shr    $1,%ebx
4305d7:	50                   	push   %eax
4305d8:	53                   	push   %ebx
4305d9:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4305dc:	53                   	push   %ebx
4305dd:	ff 75 ec             	push   -0x14(%ebp)
4305e0:	ff 15 b0 f1 43 00    	call   *0x43f1b0
4305e6:	85 c0                	test   %eax,%eax
4305e8:	75 1f                	jne    0x430609
4305ea:	ff 15 60 f0 43 00    	call   *0x43f060
4305f0:	50                   	push   %eax
4305f1:	e8 f0 5f ff ff       	call   0x4265e6
4305f6:	59                   	pop    %ecx
4305f7:	83 cf ff             	or     $0xffffffff,%edi
4305fa:	56                   	push   %esi
4305fb:	e8 77 be ff ff       	call   0x42c477
430600:	59                   	pop    %ecx
430601:	8b c7                	mov    %edi,%eax
430603:	5e                   	pop    %esi
430604:	e9 d6 00 00 00       	jmp    0x4306df
430609:	8b 45 e8             	mov    -0x18(%ebp),%eax
43060c:	8b 4d 10             	mov    0x10(%ebp),%ecx
43060f:	8d 3c 47             	lea    (%edi,%eax,2),%edi
430612:	eb 27                	jmp    0x43063b
430614:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
430618:	6a 00                	push   $0x0
43061a:	8d 45 e8             	lea    -0x18(%ebp),%eax
43061d:	50                   	push   %eax
43061e:	53                   	push   %ebx
43061f:	8b 5d f4             	mov    -0xc(%ebp),%ebx
430622:	53                   	push   %ebx
430623:	ff 75 ec             	push   -0x14(%ebp)
430626:	ff 15 88 f0 43 00    	call   *0x43f088
43062c:	85 c0                	test   %eax,%eax
43062e:	74 5c                	je     0x43068c
430630:	8b 4d 10             	mov    0x10(%ebp),%ecx
430633:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
430636:	77 54                	ja     0x43068c
430638:	03 7d e8             	add    -0x18(%ebp),%edi
43063b:	8b 45 f8             	mov    -0x8(%ebp),%eax
43063e:	8b 55 f0             	mov    -0x10(%ebp),%edx
430641:	8b 04 85 38 5d 45 00 	mov    0x455d38(,%eax,4),%eax
430648:	80 7c 02 28 00       	cmpb   $0x0,0x28(%edx,%eax,1)
43064d:	7d ab                	jge    0x4305fa
43064f:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
430653:	74 17                	je     0x43066c
430655:	d1 e9                	shr    $1,%ecx
430657:	51                   	push   %ecx
430658:	ff 75 0c             	push   0xc(%ebp)
43065b:	57                   	push   %edi
43065c:	53                   	push   %ebx
43065d:	ff 75 08             	push   0x8(%ebp)
430660:	e8 05 fa ff ff       	call   0x43006a
430665:	83 c4 14             	add    $0x14,%esp
430668:	8b f8                	mov    %eax,%edi
43066a:	eb 8e                	jmp    0x4305fa
43066c:	d1 ef                	shr    $1,%edi
43066e:	80 7d e4 00          	cmpb   $0x0,-0x1c(%ebp)
430672:	57                   	push   %edi
430673:	ff 75 e0             	push   -0x20(%ebp)
430676:	ff 75 08             	push   0x8(%ebp)
430679:	74 0a                	je     0x430685
43067b:	e8 41 fb ff ff       	call   0x4301c1
430680:	83 c4 0c             	add    $0xc,%esp
430683:	eb e3                	jmp    0x430668
430685:	e8 26 f8 ff ff       	call   0x42feb0
43068a:	eb f4                	jmp    0x430680
43068c:	ff 15 60 f0 43 00    	call   *0x43f060
430692:	6a 05                	push   $0x5
430694:	5f                   	pop    %edi
430695:	3b c7                	cmp    %edi,%eax
430697:	75 17                	jne    0x4306b0
430699:	e8 a2 5f ff ff       	call   0x426640
43069e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4306a4:	e8 84 5f ff ff       	call   0x42662d
4306a9:	89 38                	mov    %edi,(%eax)
4306ab:	e9 47 ff ff ff       	jmp    0x4305f7
4306b0:	83 f8 6d             	cmp    $0x6d,%eax
4306b3:	0f 85 37 ff ff ff    	jne    0x4305f0
4306b9:	33 ff                	xor    %edi,%edi
4306bb:	e9 3a ff ff ff       	jmp    0x4305fa
4306c0:	33 c0                	xor    %eax,%eax
4306c2:	eb 1b                	jmp    0x4306df
4306c4:	e8 64 5f ff ff       	call   0x42662d
4306c9:	83 20 00             	andl   $0x0,(%eax)
4306cc:	e8 6f 5f ff ff       	call   0x426640
4306d1:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4306d7:	e8 93 03 ff ff       	call   0x420a6f
4306dc:	83 c8 ff             	or     $0xffffffff,%eax
4306df:	5f                   	pop    %edi
4306e0:	5b                   	pop    %ebx
4306e1:	c9                   	leave
4306e2:	c3                   	ret
4306e3:	8b ff                	mov    %edi,%edi
4306e5:	55                   	push   %ebp
4306e6:	8b ec                	mov    %esp,%ebp
4306e8:	8b 45 08             	mov    0x8(%ebp),%eax
4306eb:	56                   	push   %esi
4306ec:	85 c0                	test   %eax,%eax
4306ee:	75 18                	jne    0x430708
4306f0:	e8 4b 5f ff ff       	call   0x426640
4306f5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4306fb:	e8 6f 03 ff ff       	call   0x420a6f
430700:	83 c8 ff             	or     $0xffffffff,%eax
430703:	e9 67 01 00 00       	jmp    0x43086f
430708:	8b 40 0c             	mov    0xc(%eax),%eax
43070b:	53                   	push   %ebx
43070c:	90                   	nop
43070d:	33 db                	xor    %ebx,%ebx
43070f:	c1 e8 0d             	shr    $0xd,%eax
430712:	43                   	inc    %ebx
430713:	84 c3                	test   %al,%bl
430715:	0f 84 50 01 00 00    	je     0x43086b
43071b:	8b 45 08             	mov    0x8(%ebp),%eax
43071e:	8b 40 0c             	mov    0xc(%eax),%eax
430721:	90                   	nop
430722:	c1 e8 0c             	shr    $0xc,%eax
430725:	84 c3                	test   %al,%bl
430727:	0f 85 3e 01 00 00    	jne    0x43086b
43072d:	8b 45 08             	mov    0x8(%ebp),%eax
430730:	8b 40 0c             	mov    0xc(%eax),%eax
430733:	90                   	nop
430734:	d1 e8                	shr    $1,%eax
430736:	84 c3                	test   %al,%bl
430738:	8b 45 08             	mov    0x8(%ebp),%eax
43073b:	74 0e                	je     0x43074b
43073d:	6a 10                	push   $0x10
43073f:	59                   	pop    %ecx
430740:	83 c0 0c             	add    $0xc,%eax
430743:	f0 09 08             	lock or %ecx,(%eax)
430746:	e9 20 01 00 00       	jmp    0x43086b
43074b:	83 c0 0c             	add    $0xc,%eax
43074e:	f0 09 18             	lock or %ebx,(%eax)
430751:	8b 45 08             	mov    0x8(%ebp),%eax
430754:	8b 40 0c             	mov    0xc(%eax),%eax
430757:	90                   	nop
430758:	a9 c0 04 00 00       	test   $0x4c0,%eax
43075d:	75 09                	jne    0x430768
43075f:	ff 75 08             	push   0x8(%ebp)
430762:	e8 57 9a 00 00       	call   0x43a1be
430767:	59                   	pop    %ecx
430768:	8b 45 08             	mov    0x8(%ebp),%eax
43076b:	57                   	push   %edi
43076c:	8b 48 04             	mov    0x4(%eax),%ecx
43076f:	89 08                	mov    %ecx,(%eax)
430771:	8b 45 08             	mov    0x8(%ebp),%eax
430774:	50                   	push   %eax
430775:	8b 70 18             	mov    0x18(%eax),%esi
430778:	8b 78 04             	mov    0x4(%eax),%edi
43077b:	e8 31 cc ff ff       	call   0x42d3b1
430780:	56                   	push   %esi
430781:	57                   	push   %edi
430782:	50                   	push   %eax
430783:	e8 b7 fa ff ff       	call   0x43023f
430788:	8b 4d 08             	mov    0x8(%ebp),%ecx
43078b:	83 c4 10             	add    $0x10,%esp
43078e:	89 41 08             	mov    %eax,0x8(%ecx)
430791:	8b 45 08             	mov    0x8(%ebp),%eax
430794:	5f                   	pop    %edi
430795:	8b 50 08             	mov    0x8(%eax),%edx
430798:	85 d2                	test   %edx,%edx
43079a:	0f 84 b0 00 00 00    	je     0x430850
4307a0:	83 fa ff             	cmp    $0xffffffff,%edx
4307a3:	0f 84 a7 00 00 00    	je     0x430850
4307a9:	8b 40 0c             	mov    0xc(%eax),%eax
4307ac:	90                   	nop
4307ad:	a8 06                	test   $0x6,%al
4307af:	75 5e                	jne    0x43080f
4307b1:	ff 75 08             	push   0x8(%ebp)
4307b4:	e8 f8 cb ff ff       	call   0x42d3b1
4307b9:	59                   	pop    %ecx
4307ba:	83 f8 ff             	cmp    $0xffffffff,%eax
4307bd:	74 36                	je     0x4307f5
4307bf:	ff 75 08             	push   0x8(%ebp)
4307c2:	e8 ea cb ff ff       	call   0x42d3b1
4307c7:	59                   	pop    %ecx
4307c8:	83 f8 fe             	cmp    $0xfffffffe,%eax
4307cb:	74 28                	je     0x4307f5
4307cd:	ff 75 08             	push   0x8(%ebp)
4307d0:	e8 dc cb ff ff       	call   0x42d3b1
4307d5:	ff 75 08             	push   0x8(%ebp)
4307d8:	8b f0                	mov    %eax,%esi
4307da:	c1 fe 06             	sar    $0x6,%esi
4307dd:	e8 cf cb ff ff       	call   0x42d3b1
4307e2:	59                   	pop    %ecx
4307e3:	83 e0 3f             	and    $0x3f,%eax
4307e6:	59                   	pop    %ecx
4307e7:	6b c8 38             	imul   $0x38,%eax,%ecx
4307ea:	8b 04 b5 38 5d 45 00 	mov    0x455d38(,%esi,4),%eax
4307f1:	03 c1                	add    %ecx,%eax
4307f3:	eb 05                	jmp    0x4307fa
4307f5:	b8 80 42 45 00       	mov    $0x454280,%eax
4307fa:	8a 40 28             	mov    0x28(%eax),%al
4307fd:	24 82                	and    $0x82,%al
4307ff:	3c 82                	cmp    $0x82,%al
430801:	75 0c                	jne    0x43080f
430803:	8b 45 08             	mov    0x8(%ebp),%eax
430806:	6a 20                	push   $0x20
430808:	59                   	pop    %ecx
430809:	83 c0 0c             	add    $0xc,%eax
43080c:	f0 09 08             	lock or %ecx,(%eax)
43080f:	8b 45 08             	mov    0x8(%ebp),%eax
430812:	81 78 18 00 02 00 00 	cmpl   $0x200,0x18(%eax)
430819:	75 26                	jne    0x430841
43081b:	8b 40 0c             	mov    0xc(%eax),%eax
43081e:	90                   	nop
43081f:	c1 e8 06             	shr    $0x6,%eax
430822:	84 c3                	test   %al,%bl
430824:	74 18                	je     0x43083e
430826:	8b 45 08             	mov    0x8(%ebp),%eax
430829:	8b 40 0c             	mov    0xc(%eax),%eax
43082c:	90                   	nop
43082d:	c1 e8 08             	shr    $0x8,%eax
430830:	84 c3                	test   %al,%bl
430832:	75 0a                	jne    0x43083e
430834:	8b 45 08             	mov    0x8(%ebp),%eax
430837:	c7 40 18 00 10 00 00 	movl   $0x1000,0x18(%eax)
43083e:	8b 45 08             	mov    0x8(%ebp),%eax
430841:	8b 08                	mov    (%eax),%ecx
430843:	ff 48 08             	decl   0x8(%eax)
430846:	8a 11                	mov    (%ecx),%dl
430848:	41                   	inc    %ecx
430849:	89 08                	mov    %ecx,(%eax)
43084b:	0f b6 c2             	movzbl %dl,%eax
43084e:	eb 1e                	jmp    0x43086e
430850:	33 c9                	xor    %ecx,%ecx
430852:	85 d2                	test   %edx,%edx
430854:	0f 95 c1             	setne  %cl
430857:	83 c0 0c             	add    $0xc,%eax
43085a:	8d 0c cd 08 00 00 00 	lea    0x8(,%ecx,8),%ecx
430861:	f0 09 08             	lock or %ecx,(%eax)
430864:	8b 4d 08             	mov    0x8(%ebp),%ecx
430867:	83 61 08 00          	andl   $0x0,0x8(%ecx)
43086b:	83 c8 ff             	or     $0xffffffff,%eax
43086e:	5b                   	pop    %ebx
43086f:	5e                   	pop    %esi
430870:	5d                   	pop    %ebp
430871:	c3                   	ret
430872:	8b ff                	mov    %edi,%edi
430874:	55                   	push   %ebp
430875:	8b ec                	mov    %esp,%ebp
430877:	5d                   	pop    %ebp
430878:	e9 66 fe ff ff       	jmp    0x4306e3
43087d:	8b ff                	mov    %edi,%edi
43087f:	55                   	push   %ebp
430880:	8b ec                	mov    %esp,%ebp
430882:	51                   	push   %ecx
430883:	51                   	push   %ecx
430884:	56                   	push   %esi
430885:	8b 75 08             	mov    0x8(%ebp),%esi