407774:	33 c9                	xor    %ecx,%ecx
407776:	41                   	inc    %ecx
407777:	3b c1                	cmp    %ecx,%eax
407779:	0f 84 29 01 00 00    	je     0x4078a8
40777f:	85 c0                	test   %eax,%eax
407781:	75 49                	jne    0x4077cc
407783:	89 0d 24 45 43 00    	mov    %ecx,0x434524
407789:	68 ac 41 42 00       	push   $0x4241ac
40778e:	68 8c 41 42 00       	push   $0x42418c
407793:	e8 09 8b 00 00       	call   0x4102a1
407798:	59                   	pop    %ecx
407799:	59                   	pop    %ecx
40779a:	85 c0                	test   %eax,%eax
40779c:	74 11                	je     0x4077af
40779e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4077a5:	b8 ff 00 00 00       	mov    $0xff,%eax
4077aa:	e9 e9 00 00 00       	jmp    0x407898
4077af:	68 88 41 42 00       	push   $0x424188
4077b4:	68 58 41 42 00       	push   $0x424158
4077b9:	e8 9e 8a 00 00       	call   0x41025c
4077be:	59                   	pop    %ecx
4077bf:	59                   	pop    %ecx
4077c0:	c7 05 24 45 43 00 02 	movl   $0x2,0x434524
4077c7:	00 00 00
4077ca:	eb 05                	jmp    0x4077d1
4077cc:	8a d9                	mov    %cl,%bl
4077ce:	88 5d e7             	mov    %bl,-0x19(%ebp)
4077d1:	ff 75 dc             	push   -0x24(%ebp)
4077d4:	e8 b9 02 00 00       	call   0x407a92
4077d9:	59                   	pop    %ecx
4077da:	e8 70 05 00 00       	call   0x407d4f
4077df:	8b f0                	mov    %eax,%esi
4077e1:	33 ff                	xor    %edi,%edi
4077e3:	39 3e                	cmp    %edi,(%esi)
4077e5:	74 1b                	je     0x407802
4077e7:	56                   	push   %esi
4077e8:	e8 11 02 00 00       	call   0x4079fe
4077ed:	59                   	pop    %ecx
4077ee:	84 c0                	test   %al,%al
4077f0:	74 10                	je     0x407802
4077f2:	8b 36                	mov    (%esi),%esi
4077f4:	57                   	push   %edi
4077f5:	6a 02                	push   $0x2
4077f7:	57                   	push   %edi
4077f8:	8b ce                	mov    %esi,%ecx
4077fa:	ff 15 54 41 42 00    	call   *0x424154
407800:	ff d6                	call   *%esi
407802:	e8 4e 05 00 00       	call   0x407d55
407807:	8b f0                	mov    %eax,%esi
407809:	39 3e                	cmp    %edi,(%esi)
40780b:	74 13                	je     0x407820
40780d:	56                   	push   %esi
40780e:	e8 eb 01 00 00       	call   0x4079fe
407813:	59                   	pop    %ecx
407814:	84 c0                	test   %al,%al
407816:	74 08                	je     0x407820
407818:	ff 36                	push   (%esi)
40781a:	e8 26 8d 00 00       	call   0x410545
40781f:	59                   	pop    %ecx
407820:	e8 51 06 00 00       	call   0x407e76
407825:	0f b7 f0             	movzwl %ax,%esi
407828:	e8 e5 89 00 00       	call   0x410212
40782d:	56                   	push   %esi
40782e:	50                   	push   %eax
40782f:	57                   	push   %edi
407830:	68 00 00 40 00       	push   $0x400000
407835:	e8 26 ac ff ff       	call   0x402460
40783a:	8b f0                	mov    %eax,%esi
40783c:	e8 6b 06 00 00       	call   0x407eac
407841:	84 c0                	test   %al,%al
407843:	74 6a                	je     0x4078af
407845:	84 db                	test   %bl,%bl
407847:	75 05                	jne    0x40784e
407849:	e8 d2 8c 00 00       	call   0x410520
40784e:	57                   	push   %edi
40784f:	6a 01                	push   $0x1
407851:	e8 59 02 00 00       	call   0x407aaf
407856:	59                   	pop    %ecx
407857:	59                   	pop    %ecx
407858:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40785f:	8b c6                	mov    %esi,%eax
407861:	eb 35                	jmp    0x407898
407863:	8b 4d ec             	mov    -0x14(%ebp),%ecx
407866:	8b 01                	mov    (%ecx),%eax
407868:	8b 00                	mov    (%eax),%eax
40786a:	89 45 e0             	mov    %eax,-0x20(%ebp)
40786d:	51                   	push   %ecx
40786e:	50                   	push   %eax
40786f:	e8 62 82 00 00       	call   0x40fad6
407874:	59                   	pop    %ecx
407875:	59                   	pop    %ecx
407876:	c3                   	ret
407877:	8b 65 e8             	mov    -0x18(%ebp),%esp
40787a:	e8 2d 06 00 00       	call   0x407eac
40787f:	84 c0                	test   %al,%al
407881:	74 32                	je     0x4078b5
407883:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
407887:	75 05                	jne    0x40788e
407889:	e8 83 8c 00 00       	call   0x410511
40788e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
407895:	8b 45 e0             	mov    -0x20(%ebp),%eax
407898:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40789b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4078a2:	59                   	pop    %ecx
4078a3:	5f                   	pop    %edi
4078a4:	5e                   	pop    %esi
4078a5:	5b                   	pop    %ebx
4078a6:	c9                   	leave
4078a7:	c3                   	ret
4078a8:	6a 07                	push   $0x7
4078aa:	e8 ac 04 00 00       	call   0x407d5b
4078af:	56                   	push   %esi
4078b0:	e8 b6 8c 00 00       	call   0x41056b
4078b5:	ff 75 e0             	push   -0x20(%ebp)
4078b8:	e8 72 8c 00 00       	call   0x41052f
4078bd:	cc                   	int3
4078be:	e8 df 03 00 00       	call   0x407ca2
4078c3:	e9 7a fe ff ff       	jmp    0x407742
4078c8:	55                   	push   %ebp
4078c9:	8b ec                	mov    %esp,%ebp
4078cb:	8b 45 08             	mov    0x8(%ebp),%eax
4078ce:	56                   	push   %esi
4078cf:	8b 48 3c             	mov    0x3c(%eax),%ecx
4078d2:	03 c8                	add    %eax,%ecx
4078d4:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
4078d8:	8d 51 18             	lea    0x18(%ecx),%edx
4078db:	03 d0                	add    %eax,%edx
4078dd:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
4078e1:	6b f0 28             	imul   $0x28,%eax,%esi
4078e4:	03 f2                	add    %edx,%esi
4078e6:	3b d6                	cmp    %esi,%edx
4078e8:	74 19                	je     0x407903
4078ea:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4078ed:	3b 4a 0c             	cmp    0xc(%edx),%ecx
4078f0:	72 0a                	jb     0x4078fc
4078f2:	8b 42 08             	mov    0x8(%edx),%eax
4078f5:	03 42 0c             	add    0xc(%edx),%eax
4078f8:	3b c8                	cmp    %eax,%ecx
4078fa:	72 0c                	jb     0x407908
4078fc:	83 c2 28             	add    $0x28,%edx
4078ff:	3b d6                	cmp    %esi,%edx
407901:	75 ea                	jne    0x4078ed
407903:	33 c0                	xor    %eax,%eax
407905:	5e                   	pop    %esi
407906:	5d                   	pop    %ebp
407907:	c3                   	ret
407908:	8b c2                	mov    %edx,%eax
40790a:	eb f9                	jmp    0x407905
40790c:	56                   	push   %esi
40790d:	e8 c4 08 00 00       	call   0x4081d6
407912:	85 c0                	test   %eax,%eax
407914:	74 20                	je     0x407936
407916:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
40791c:	be 28 45 43 00       	mov    $0x434528,%esi
407921:	8b 50 04             	mov    0x4(%eax),%edx
407924:	eb 04                	jmp    0x40792a
407926:	3b d0                	cmp    %eax,%edx
407928:	74 10                	je     0x40793a
40792a:	33 c0                	xor    %eax,%eax
40792c:	8b ca                	mov    %edx,%ecx
40792e:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
407932:	85 c0                	test   %eax,%eax
407934:	75 f0                	jne    0x407926
407936:	32 c0                	xor    %al,%al
407938:	5e                   	pop    %esi
407939:	c3                   	ret
40793a:	b0 01                	mov    $0x1,%al
40793c:	5e                   	pop    %esi
40793d:	c3                   	ret
40793e:	55                   	push   %ebp
40793f:	8b ec                	mov    %esp,%ebp
407941:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
407945:	75 07                	jne    0x40794e
407947:	c6 05 2c 45 43 00 01 	movb   $0x1,0x43452c
40794e:	e8 b2 06 00 00       	call   0x408005
407953:	e8 b6 27 00 00       	call   0x40a10e
407958:	84 c0                	test   %al,%al
40795a:	75 04                	jne    0x407960
40795c:	32 c0                	xor    %al,%al
40795e:	5d                   	pop    %ebp
40795f:	c3                   	ret
407960:	e8 0c a9 00 00       	call   0x412271
407965:	84 c0                	test   %al,%al
407967:	75 0a                	jne    0x407973
407969:	6a 00                	push   $0x0
40796b:	e8 bd 27 00 00       	call   0x40a12d
407970:	59                   	pop    %ecx
407971:	eb e9                	jmp    0x40795c
407973:	b0 01                	mov    $0x1,%al
407975:	5d                   	pop    %ebp
407976:	c3                   	ret
407977:	55                   	push   %ebp
407978:	8b ec                	mov    %esp,%ebp
40797a:	80 3d 2d 45 43 00 00 	cmpb   $0x0,0x43452d
407981:	74 04                	je     0x407987
407983:	b0 01                	mov    $0x1,%al
407985:	5d                   	pop    %ebp
407986:	c3                   	ret
407987:	56                   	push   %esi
407988:	8b 75 08             	mov    0x8(%ebp),%esi
40798b:	85 f6                	test   %esi,%esi
40798d:	74 05                	je     0x407994
40798f:	83 fe 01             	cmp    $0x1,%esi
407992:	75 62                	jne    0x4079f6
407994:	e8 3d 08 00 00       	call   0x4081d6
407999:	85 c0                	test   %eax,%eax
40799b:	74 26                	je     0x4079c3
40799d:	85 f6                	test   %esi,%esi
40799f:	75 22                	jne    0x4079c3
4079a1:	68 30 45 43 00       	push   $0x434530
4079a6:	e8 6f a7 00 00       	call   0x41211a
4079ab:	59                   	pop    %ecx
4079ac:	85 c0                	test   %eax,%eax
4079ae:	75 0f                	jne    0x4079bf
4079b0:	68 3c 45 43 00       	push   $0x43453c
4079b5:	e8 60 a7 00 00       	call   0x41211a
4079ba:	59                   	pop    %ecx
4079bb:	85 c0                	test   %eax,%eax
4079bd:	74 2b                	je     0x4079ea
4079bf:	32 c0                	xor    %al,%al
4079c1:	eb 30                	jmp    0x4079f3
4079c3:	83 c9 ff             	or     $0xffffffff,%ecx
4079c6:	89 0d 30 45 43 00    	mov    %ecx,0x434530
4079cc:	89 0d 34 45 43 00    	mov    %ecx,0x434534
4079d2:	89 0d 38 45 43 00    	mov    %ecx,0x434538
4079d8:	89 0d 3c 45 43 00    	mov    %ecx,0x43453c
4079de:	89 0d 40 45 43 00    	mov    %ecx,0x434540
4079e4:	89 0d 44 45 43 00    	mov    %ecx,0x434544
4079ea:	c6 05 2d 45 43 00 01 	movb   $0x1,0x43452d
4079f1:	b0 01                	mov    $0x1,%al
4079f3:	5e                   	pop    %esi
4079f4:	5d                   	pop    %ebp
4079f5:	c3                   	ret
4079f6:	6a 05                	push   $0x5
4079f8:	e8 5e 03 00 00       	call   0x407d5b
4079fd:	cc                   	int3
4079fe:	6a 08                	push   $0x8
407a00:	68 38 13 43 00       	push   $0x431338
407a05:	e8 b6 05 00 00       	call   0x407fc0
407a0a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407a0e:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
407a13:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
407a1a:	75 5d                	jne    0x407a79
407a1c:	a1 3c 00 40 00       	mov    0x40003c,%eax
407a21:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
407a28:	45 00 00
407a2b:	75 4c                	jne    0x407a79
407a2d:	b9 0b 01 00 00       	mov    $0x10b,%ecx
407a32:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
407a39:	75 3e                	jne    0x407a79
407a3b:	8b 45 08             	mov    0x8(%ebp),%eax
407a3e:	b9 00 00 40 00       	mov    $0x400000,%ecx
407a43:	2b c1                	sub    %ecx,%eax
407a45:	50                   	push   %eax
407a46:	51                   	push   %ecx
407a47:	e8 7c fe ff ff       	call   0x4078c8
407a4c:	59                   	pop    %ecx
407a4d:	59                   	pop    %ecx
407a4e:	85 c0                	test   %eax,%eax
407a50:	74 27                	je     0x407a79
407a52:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
407a56:	7c 21                	jl     0x407a79
407a58:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
407a5f:	b0 01                	mov    $0x1,%al
407a61:	eb 1f                	jmp    0x407a82
407a63:	8b 45 ec             	mov    -0x14(%ebp),%eax
407a66:	8b 00                	mov    (%eax),%eax
407a68:	33 c9                	xor    %ecx,%ecx
407a6a:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
407a70:	0f 94 c1             	sete   %cl
407a73:	8b c1                	mov    %ecx,%eax
407a75:	c3                   	ret
407a76:	8b 65 e8             	mov    -0x18(%ebp),%esp
407a79:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
407a80:	32 c0                	xor    %al,%al
407a82:	8b 4d f0             	mov    -0x10(%ebp),%ecx
407a85:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407a8c:	59                   	pop    %ecx
407a8d:	5f                   	pop    %edi
407a8e:	5e                   	pop    %esi
407a8f:	5b                   	pop    %ebx
407a90:	c9                   	leave
407a91:	c3                   	ret
407a92:	55                   	push   %ebp
407a93:	8b ec                	mov    %esp,%ebp
407a95:	e8 3c 07 00 00       	call   0x4081d6
407a9a:	85 c0                	test   %eax,%eax
407a9c:	74 0f                	je     0x407aad
407a9e:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
407aa2:	75 09                	jne    0x407aad
407aa4:	33 c0                	xor    %eax,%eax
407aa6:	b9 28 45 43 00       	mov    $0x434528,%ecx
407aab:	87 01                	xchg   %eax,(%ecx)
407aad:	5d                   	pop    %ebp
407aae:	c3                   	ret
407aaf:	55                   	push   %ebp
407ab0:	8b ec                	mov    %esp,%ebp
407ab2:	80 3d 2c 45 43 00 00 	cmpb   $0x0,0x43452c
407ab9:	74 06                	je     0x407ac1
407abb:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
407abf:	75 12                	jne    0x407ad3
407ac1:	ff 75 08             	push   0x8(%ebp)
407ac4:	e8 ba a7 00 00       	call   0x412283
407ac9:	ff 75 08             	push   0x8(%ebp)
407acc:	e8 5c 26 00 00       	call   0x40a12d
407ad1:	59                   	pop    %ecx
407ad2:	59                   	pop    %ecx
407ad3:	b0 01                	mov    $0x1,%al
407ad5:	5d                   	pop    %ebp
407ad6:	c3                   	ret
407ad7:	55                   	push   %ebp
407ad8:	8b ec                	mov    %esp,%ebp
407ada:	83 3d 30 45 43 00 ff 	cmpl   $0xffffffff,0x434530
407ae1:	ff 75 08             	push   0x8(%ebp)
407ae4:	75 07                	jne    0x407aed
407ae6:	e8 ec a5 00 00       	call   0x4120d7
407aeb:	eb 0b                	jmp    0x407af8
407aed:	68 30 45 43 00       	push   $0x434530
407af2:	e8 4c a6 00 00       	call   0x412143
407af7:	59                   	pop    %ecx
407af8:	f7 d8                	neg    %eax
407afa:	59                   	pop    %ecx
407afb:	1b c0                	sbb    %eax,%eax
407afd:	f7 d0                	not    %eax
407aff:	23 45 08             	and    0x8(%ebp),%eax
407b02:	5d                   	pop    %ebp
407b03:	c3                   	ret
407b04:	55                   	push   %ebp
407b05:	8b ec                	mov    %esp,%ebp
407b07:	ff 75 08             	push   0x8(%ebp)
407b0a:	e8 c8 ff ff ff       	call   0x407ad7
407b0f:	f7 d8                	neg    %eax
407b11:	59                   	pop    %ecx
407b12:	1b c0                	sbb    %eax,%eax
407b14:	f7 d8                	neg    %eax
407b16:	48                   	dec    %eax
407b17:	5d                   	pop    %ebp
407b18:	c3                   	ret
407b19:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407b1c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407b23:	59                   	pop    %ecx
407b24:	5f                   	pop    %edi
407b25:	5f                   	pop    %edi
407b26:	5e                   	pop    %esi
407b27:	5b                   	pop    %ebx
407b28:	8b e5                	mov    %ebp,%esp
407b2a:	5d                   	pop    %ebp
407b2b:	51                   	push   %ecx
407b2c:	c3                   	ret
407b2d:	8b 4d f0             	mov    -0x10(%ebp),%ecx