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
430888:	57                   	push   %edi
430889:	56                   	push   %esi
43088a:	e8 9b 3d 00 00       	call   0x43462a
43088f:	83 cf ff             	or     $0xffffffff,%edi
430892:	59                   	pop    %ecx
430893:	3b c7                	cmp    %edi,%eax
430895:	75 14                	jne    0x4308ab
430897:	8b 45 18             	mov    0x18(%ebp),%eax
43089a:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
43089e:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
4308a5:	8b c7                	mov    %edi,%eax
4308a7:	8b d7                	mov    %edi,%edx
4308a9:	eb 51                	jmp    0x4308fc
4308ab:	ff 75 14             	push   0x14(%ebp)
4308ae:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4308b1:	51                   	push   %ecx
4308b2:	ff 75 10             	push   0x10(%ebp)
4308b5:	ff 75 0c             	push   0xc(%ebp)
4308b8:	50                   	push   %eax
4308b9:	ff 15 b4 f1 43 00    	call   *0x43f1b4
4308bf:	85 c0                	test   %eax,%eax
4308c1:	75 13                	jne    0x4308d6
4308c3:	ff 75 18             	push   0x18(%ebp)
4308c6:	ff 15 60 f0 43 00    	call   *0x43f060
4308cc:	50                   	push   %eax
4308cd:	e8 37 5d ff ff       	call   0x426609
4308d2:	59                   	pop    %ecx
4308d3:	59                   	pop    %ecx
4308d4:	eb cf                	jmp    0x4308a5
4308d6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4308d9:	8b 55 fc             	mov    -0x4(%ebp),%edx
4308dc:	23 c2                	and    %edx,%eax
4308de:	3b c7                	cmp    %edi,%eax
4308e0:	74 c3                	je     0x4308a5
4308e2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4308e5:	8b ce                	mov    %esi,%ecx
4308e7:	83 e6 3f             	and    $0x3f,%esi
4308ea:	c1 f9 06             	sar    $0x6,%ecx
4308ed:	6b f6 38             	imul   $0x38,%esi,%esi
4308f0:	8b 0c 8d 38 5d 45 00 	mov    0x455d38(,%ecx,4),%ecx
4308f7:	80 64 31 28 fd       	andb   $0xfd,0x28(%ecx,%esi,1)
4308fc:	5f                   	pop    %edi
4308fd:	5e                   	pop    %esi
4308fe:	c9                   	leave
4308ff:	c3                   	ret
430900:	8b ff                	mov    %edi,%edi
430902:	55                   	push   %ebp
430903:	8b ec                	mov    %esp,%ebp
430905:	83 ec 28             	sub    $0x28,%esp
430908:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43090b:	56                   	push   %esi
43090c:	57                   	push   %edi
43090d:	6a 00                	push   $0x0
43090f:	e8 4f fe fe ff       	call   0x420763
430914:	8d 45 d8             	lea    -0x28(%ebp),%eax
430917:	50                   	push   %eax
430918:	ff 75 14             	push   0x14(%ebp)
43091b:	ff 75 10             	push   0x10(%ebp)
43091e:	ff 75 0c             	push   0xc(%ebp)
430921:	ff 75 08             	push   0x8(%ebp)
430924:	e8 54 ff ff ff       	call   0x43087d
430929:	83 c4 14             	add    $0x14,%esp
43092c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43092f:	8b f0                	mov    %eax,%esi
430931:	8b fa                	mov    %edx,%edi
430933:	e8 73 fe fe ff       	call   0x4207ab
430938:	8b d7                	mov    %edi,%edx
43093a:	8b c6                	mov    %esi,%eax
43093c:	5f                   	pop    %edi
43093d:	5e                   	pop    %esi
43093e:	c9                   	leave
43093f:	c3                   	ret
430940:	8b ff                	mov    %edi,%edi
430942:	55                   	push   %ebp
430943:	8b ec                	mov    %esp,%ebp
430945:	ff 75 18             	push   0x18(%ebp)
430948:	ff 75 14             	push   0x14(%ebp)
43094b:	ff 75 10             	push   0x10(%ebp)
43094e:	ff 75 0c             	push   0xc(%ebp)
430951:	ff 75 08             	push   0x8(%ebp)
430954:	e8 24 ff ff ff       	call   0x43087d
430959:	83 c4 14             	add    $0x14,%esp
43095c:	5d                   	pop    %ebp
43095d:	c3                   	ret
43095e:	8b ff                	mov    %edi,%edi
430960:	55                   	push   %ebp
430961:	8b ec                	mov    %esp,%ebp
430963:	51                   	push   %ecx
430964:	51                   	push   %ecx
430965:	a1 14 40 45 00       	mov    0x454014,%eax
43096a:	33 c5                	xor    %ebp,%eax
43096c:	89 45 fc             	mov    %eax,-0x4(%ebp)
43096f:	53                   	push   %ebx
430970:	56                   	push   %esi
430971:	57                   	push   %edi
430972:	8b 7d 18             	mov    0x18(%ebp),%edi
430975:	85 ff                	test   %edi,%edi
430977:	7e 14                	jle    0x43098d
430979:	57                   	push   %edi
43097a:	ff 75 14             	push   0x14(%ebp)
43097d:	e8 0d 89 ff ff       	call   0x42928f
430982:	59                   	pop    %ecx
430983:	3b c7                	cmp    %edi,%eax
430985:	59                   	pop    %ecx
430986:	8d 78 01             	lea    0x1(%eax),%edi
430989:	7c 02                	jl     0x43098d
43098b:	8b f8                	mov    %eax,%edi
43098d:	8b 5d 24             	mov    0x24(%ebp),%ebx
430990:	85 db                	test   %ebx,%ebx
430992:	75 0b                	jne    0x43099f
430994:	8b 45 08             	mov    0x8(%ebp),%eax
430997:	8b 00                	mov    (%eax),%eax
430999:	8b 58 08             	mov    0x8(%eax),%ebx
43099c:	89 5d 24             	mov    %ebx,0x24(%ebp)
43099f:	33 c0                	xor    %eax,%eax
4309a1:	39 45 28             	cmp    %eax,0x28(%ebp)
4309a4:	6a 00                	push   $0x0
4309a6:	6a 00                	push   $0x0
4309a8:	0f 95 c0             	setne  %al
4309ab:	57                   	push   %edi
4309ac:	ff 75 14             	push   0x14(%ebp)
4309af:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
4309b6:	50                   	push   %eax
4309b7:	53                   	push   %ebx
4309b8:	e8 03 26 00 00       	call   0x432fc0
4309bd:	83 c4 18             	add    $0x18,%esp
4309c0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4309c3:	85 c0                	test   %eax,%eax
4309c5:	0f 84 70 01 00 00    	je     0x430b3b
4309cb:	03 c0                	add    %eax,%eax
4309cd:	8d 48 08             	lea    0x8(%eax),%ecx
4309d0:	3b c1                	cmp    %ecx,%eax
4309d2:	1b c0                	sbb    %eax,%eax
4309d4:	23 c1                	and    %ecx,%eax
4309d6:	0f 84 52 01 00 00    	je     0x430b2e
4309dc:	3d 00 04 00 00       	cmp    $0x400,%eax
4309e1:	77 17                	ja     0x4309fa
4309e3:	e8 48 bb fe ff       	call   0x41c530
4309e8:	8b f4                	mov    %esp,%esi
4309ea:	85 f6                	test   %esi,%esi
4309ec:	0f 84 3e 01 00 00    	je     0x430b30
4309f2:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
4309f8:	eb 17                	jmp    0x430a11
4309fa:	50                   	push   %eax
4309fb:	e8 b1 ba ff ff       	call   0x42c4b1
430a00:	8b f0                	mov    %eax,%esi
430a02:	59                   	pop    %ecx
430a03:	85 f6                	test   %esi,%esi
430a05:	0f 84 25 01 00 00    	je     0x430b30
430a0b:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
430a11:	83 c6 08             	add    $0x8,%esi
430a14:	85 f6                	test   %esi,%esi
430a16:	0f 84 14 01 00 00    	je     0x430b30
430a1c:	ff 75 f8             	push   -0x8(%ebp)
430a1f:	56                   	push   %esi
430a20:	57                   	push   %edi
430a21:	ff 75 14             	push   0x14(%ebp)
430a24:	6a 01                	push   $0x1
430a26:	53                   	push   %ebx
430a27:	e8 94 25 00 00       	call   0x432fc0
430a2c:	83 c4 18             	add    $0x18,%esp
430a2f:	85 c0                	test   %eax,%eax
430a31:	0f 84 f9 00 00 00    	je     0x430b30
430a37:	8b 7d f8             	mov    -0x8(%ebp),%edi
430a3a:	33 c0                	xor    %eax,%eax
430a3c:	50                   	push   %eax
430a3d:	50                   	push   %eax
430a3e:	50                   	push   %eax
430a3f:	50                   	push   %eax
430a40:	50                   	push   %eax
430a41:	57                   	push   %edi
430a42:	56                   	push   %esi
430a43:	ff 75 10             	push   0x10(%ebp)
430a46:	ff 75 0c             	push   0xc(%ebp)
430a49:	e8 e3 e7 ff ff       	call   0x42f231