40590a:	e8 ad b9 ff ff       	call   0x4012bc
40590f:	85 c0                	test   %eax,%eax
405911:	74 22                	je     0x405935
405913:	8d 45 e8             	lea    -0x18(%ebp),%eax
405916:	50                   	push   %eax
405917:	8d 45 ee             	lea    -0x12(%ebp),%eax
40591a:	50                   	push   %eax
40591b:	6a 00                	push   $0x0
40591d:	6a 00                	push   $0x0
40591f:	68 cc 5a 40 00       	push   $0x405acc
405924:	8b 45 f8             	mov    -0x8(%ebp),%eax
405927:	50                   	push   %eax
405928:	e8 8f b9 ff ff       	call   0x4012bc
40592d:	85 c0                	test   %eax,%eax
40592f:	74 04                	je     0x405935
405931:	c6 45 ee 00          	movb   $0x0,-0x12(%ebp)
405935:	c6 45 f2 00          	movb   $0x0,-0xe(%ebp)
405939:	33 c0                	xor    %eax,%eax
40593b:	5a                   	pop    %edx
40593c:	59                   	pop    %ecx
40593d:	59                   	pop    %ecx
40593e:	64 89 10             	mov    %edx,%fs:(%eax)
405941:	68 57 59 40 00       	push   $0x405957
405946:	8b 45 f8             	mov    -0x8(%ebp),%eax
405949:	50                   	push   %eax
40594a:	e8 5d b9 ff ff       	call   0x4012ac
40594f:	c3                   	ret
405950:	e9 f7 e5 ff ff       	jmp    0x403f4c
405955:	eb ef                	jmp    0x405946
405957:	68 05 01 00 00       	push   $0x105
40595c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40595f:	50                   	push   %eax
405960:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
405966:	50                   	push   %eax
405967:	e8 28 b9 ff ff       	call   0x401294
40596c:	6a 05                	push   $0x5
40596e:	8d 45 f3             	lea    -0xd(%ebp),%eax
405971:	50                   	push   %eax
405972:	6a 03                	push   $0x3
405974:	e8 03 b9 ff ff       	call   0x40127c
405979:	50                   	push   %eax
40597a:	e8 d5 b8 ff ff       	call   0x401254
40597f:	33 db                	xor    %ebx,%ebx
405981:	80 bd df fe ff ff 00 	cmpb   $0x0,-0x121(%ebp)
405988:	0f 84 f9 00 00 00    	je     0x405a87
40598e:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
405992:	75 0a                	jne    0x40599e
405994:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
405998:	0f 84 e9 00 00 00    	je     0x405a87
40599e:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
4059a4:	50                   	push   %eax
4059a5:	e8 f2 b8 ff ff       	call   0x40129c
4059aa:	8d 95 df fe ff ff    	lea    -0x121(%ebp),%edx
4059b0:	03 c2                	add    %edx,%eax
4059b2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4059b5:	eb 03                	jmp    0x4059ba
4059b7:	ff 4d e4             	decl   -0x1c(%ebp)
4059ba:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4059bd:	80 38 2e             	cmpb   $0x2e,(%eax)
4059c0:	74 0b                	je     0x4059cd
4059c2:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
4059c8:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
4059cb:	75 ea                	jne    0x4059b7
4059cd:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
4059d3:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
4059d6:	0f 84 ab 00 00 00    	je     0x405a87
4059dc:	ff 45 e4             	incl   -0x1c(%ebp)
4059df:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
4059e3:	74 2c                	je     0x405a11
4059e5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4059e8:	2b d0                	sub    %eax,%edx
4059ea:	b8 05 01 00 00       	mov    $0x105,%eax
4059ef:	2b c2                	sub    %edx,%eax
4059f1:	50                   	push   %eax
4059f2:	8d 45 ee             	lea    -0x12(%ebp),%eax
4059f5:	50                   	push   %eax
4059f6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4059f9:	50                   	push   %eax
4059fa:	e8 95 b8 ff ff       	call   0x401294
4059ff:	6a 02                	push   $0x2
405a01:	6a 00                	push   $0x0
405a03:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
405a09:	50                   	push   %eax
405a0a:	e8 75 b8 ff ff       	call   0x401284
405a0f:	8b d8                	mov    %eax,%ebx
405a11:	85 db                	test   %ebx,%ebx
405a13:	75 72                	jne    0x405a87
405a15:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
405a19:	74 6c                	je     0x405a87
405a1b:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
405a21:	8b 55 e4             	mov    -0x1c(%ebp),%edx
405a24:	2b d0                	sub    %eax,%edx
405a26:	b8 05 01 00 00       	mov    $0x105,%eax
405a2b:	2b c2                	sub    %edx,%eax
405a2d:	50                   	push   %eax
405a2e:	8d 45 f3             	lea    -0xd(%ebp),%eax
405a31:	50                   	push   %eax
405a32:	8b 45 e4             	mov    -0x1c(%ebp),%eax
405a35:	50                   	push   %eax
405a36:	e8 59 b8 ff ff       	call   0x401294
405a3b:	6a 02                	push   $0x2
405a3d:	6a 00                	push   $0x0
405a3f:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
405a45:	50                   	push   %eax
405a46:	e8 39 b8 ff ff       	call   0x401284
405a4b:	8b d8                	mov    %eax,%ebx
405a4d:	85 db                	test   %ebx,%ebx
405a4f:	75 36                	jne    0x405a87
405a51:	c6 45 f5 00          	movb   $0x0,-0xb(%ebp)
405a55:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
405a5b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
405a5e:	2b d0                	sub    %eax,%edx
405a60:	b8 05 01 00 00       	mov    $0x105,%eax
405a65:	2b c2                	sub    %edx,%eax
405a67:	50                   	push   %eax
405a68:	8d 45 f3             	lea    -0xd(%ebp),%eax
405a6b:	50                   	push   %eax
405a6c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
405a6f:	50                   	push   %eax
405a70:	e8 1f b8 ff ff       	call   0x401294
405a75:	6a 02                	push   $0x2
405a77:	6a 00                	push   $0x0
405a79:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
405a7f:	50                   	push   %eax
405a80:	e8 ff b7 ff ff       	call   0x401284
405a85:	8b d8                	mov    %eax,%ebx
405a87:	8b c3                	mov    %ebx,%eax
405a89:	5b                   	pop    %ebx
405a8a:	8b e5                	mov    %ebp,%esp
405a8c:	5d                   	pop    %ebp
405a8d:	c3                   	ret
405a8e:	00 00                	add    %al,(%eax)
405a90:	53                   	push   %ebx
405a91:	6f                   	outsl  %ds:(%esi),(%dx)
405a92:	66 74 77             	data16 je 0x405b0c
405a95:	61                   	popa
405a96:	72 65                	jb     0x405afd
405a98:	5c                   	pop    %esp
405a99:	42                   	inc    %edx
405a9a:	6f                   	outsl  %ds:(%esi),(%dx)
405a9b:	72 6c                	jb     0x405b09
405a9d:	61                   	popa
405a9e:	6e                   	outsb  %ds:(%esi),(%dx)
405a9f:	64 5c                	fs pop %esp
405aa1:	4c                   	dec    %esp
405aa2:	6f                   	outsl  %ds:(%esi),(%dx)
405aa3:	63 61 6c             	arpl   %esp,0x6c(%ecx)
405aa6:	65 73 00             	gs jae 0x405aa9
405aa9:	00 00                	add    %al,(%eax)
405aab:	00 53 6f             	add    %dl,0x6f(%ebx)
405aae:	66 74 77             	data16 je 0x405b28
405ab1:	61                   	popa
405ab2:	72 65                	jb     0x405b19
405ab4:	5c                   	pop    %esp
405ab5:	42                   	inc    %edx
405ab6:	6f                   	outsl  %ds:(%esi),(%dx)
405ab7:	72 6c                	jb     0x405b25
405ab9:	61                   	popa
405aba:	6e                   	outsb  %ds:(%esi),(%dx)
405abb:	64 5c                	fs pop %esp
405abd:	44                   	inc    %esp
405abe:	65 6c                	gs insb (%dx),%es:(%edi)
405ac0:	70 68                	jo     0x405b2a
405ac2:	69 5c 4c 6f 63 61 6c 	imul   $0x656c6163,0x6f(%esp,%ecx,2),%ebx
405ac9:	65
405aca:	73 00                	jae    0x405acc
405acc:	00 00                	add    %al,(%eax)
405ace:	00 00                	add    %al,(%eax)
405ad0:	e8 0b 00 00 00       	call   0x405ae0
405ad5:	c3                   	ret
405ad6:	8b c0                	mov    %eax,%eax
405ad8:	e8 23 00 00 00       	call   0x405b00
405add:	c3                   	ret
405ade:	8b c0                	mov    %eax,%eax
405ae0:	53                   	push   %ebx
405ae1:	8b d8                	mov    %eax,%ebx
405ae3:	b8 08 00 00 00       	mov    $0x8,%eax
405ae8:	e8 4b cf ff ff       	call   0x402a38
405aed:	8b 15 3c 50 45 00    	mov    0x45503c,%edx
405af3:	89 10                	mov    %edx,(%eax)
405af5:	89 58 04             	mov    %ebx,0x4(%eax)
405af8:	a3 3c 50 45 00       	mov    %eax,0x45503c
405afd:	5b                   	pop    %ebx
405afe:	c3                   	ret
405aff:	90                   	nop
405b00:	53                   	push   %ebx
405b01:	56                   	push   %esi
405b02:	57                   	push   %edi
405b03:	83 c4 f8             	add    $0xfffffff8,%esp
405b06:	8b f0                	mov    %eax,%esi
405b08:	8d 7c 24 04          	lea    0x4(%esp),%edi
405b0c:	a1 3c 50 45 00       	mov    0x45503c,%eax
405b11:	89 04 24             	mov    %eax,(%esp)
405b14:	83 3c 24 00          	cmpl   $0x0,(%esp)
405b18:	74 25                	je     0x405b3f
405b1a:	8b 04 24             	mov    (%esp),%eax
405b1d:	8b 40 04             	mov    0x4(%eax),%eax
405b20:	3b c6                	cmp    %esi,%eax
405b22:	75 1b                	jne    0x405b3f
405b24:	a1 3c 50 45 00       	mov    0x45503c,%eax
405b29:	8b 00                	mov    (%eax),%eax
405b2b:	a3 3c 50 45 00       	mov    %eax,0x45503c
405b30:	ba 08 00 00 00       	mov    $0x8,%edx
405b35:	8b 04 24             	mov    (%esp),%eax
405b38:	e8 2b cf ff ff       	call   0x402a68
405b3d:	eb 40                	jmp    0x405b7f
405b3f:	8b 04 24             	mov    (%esp),%eax
405b42:	89 07                	mov    %eax,(%edi)
405b44:	83 3f 00             	cmpl   $0x0,(%edi)
405b47:	74 36                	je     0x405b7f
405b49:	8b 07                	mov    (%edi),%eax
405b4b:	8b 18                	mov    (%eax),%ebx
405b4d:	85 db                	test   %ebx,%ebx
405b4f:	74 23                	je     0x405b74
405b51:	8b 43 04             	mov    0x4(%ebx),%eax
405b54:	3b c6                	cmp    %esi,%eax
405b56:	75 1c                	jne    0x405b74
405b58:	89 1c 24             	mov    %ebx,(%esp)
405b5b:	8b 07                	mov    (%edi),%eax
405b5d:	8b 00                	mov    (%eax),%eax
405b5f:	8b 00                	mov    (%eax),%eax
405b61:	8b 17                	mov    (%edi),%edx
405b63:	89 02                	mov    %eax,(%edx)
405b65:	ba 08 00 00 00       	mov    $0x8,%edx
405b6a:	8b 04 24             	mov    (%esp),%eax
405b6d:	e8 f6 ce ff ff       	call   0x402a68
405b72:	eb 0b                	jmp    0x405b7f
405b74:	8b 07                	mov    (%edi),%eax
405b76:	8b 00                	mov    (%eax),%eax
405b78:	89 07                	mov    %eax,(%edi)
405b7a:	83 3f 00             	cmpl   $0x0,(%edi)
405b7d:	75 ca                	jne    0x405b49
405b7f:	59                   	pop    %ecx
405b80:	5a                   	pop    %edx
405b81:	5f                   	pop    %edi
405b82:	5e                   	pop    %esi
405b83:	5b                   	pop    %ebx
405b84:	c3                   	ret
405b85:	8d 40 00             	lea    0x0(%eax),%eax
405b88:	55                   	push   %ebp
405b89:	8b ec                	mov    %esp,%ebp
405b8b:	83 c4 f8             	add    $0xfffffff8,%esp
405b8e:	53                   	push   %ebx
405b8f:	56                   	push   %esi
405b90:	57                   	push   %edi
405b91:	89 45 fc             	mov    %eax,-0x4(%ebp)
405b94:	a1 3c 50 45 00       	mov    0x45503c,%eax
405b99:	89 45 f8             	mov    %eax,-0x8(%ebp)
405b9c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
405ba0:	74 39                	je     0x405bdb
405ba2:	33 c0                	xor    %eax,%eax
405ba4:	55                   	push   %ebp
405ba5:	68 c3 5b 40 00       	push   $0x405bc3
405baa:	64 ff 30             	push   %fs:(%eax)
405bad:	64 89 20             	mov    %esp,%fs:(%eax)
405bb0:	8b 5d f8             	mov    -0x8(%ebp),%ebx
405bb3:	8b 45 fc             	mov    -0x4(%ebp),%eax
405bb6:	ff 53 04             	call   *0x4(%ebx)
405bb9:	33 c0                	xor    %eax,%eax
405bbb:	5a                   	pop    %edx
405bbc:	59                   	pop    %ecx
405bbd:	59                   	pop    %ecx
405bbe:	64 89 10             	mov    %edx,%fs:(%eax)
405bc1:	eb 0a                	jmp    0x405bcd
405bc3:	e9 d0 e0 ff ff       	jmp    0x403c98
405bc8:	e8 33 e4 ff ff       	call   0x404000
405bcd:	8b 45 f8             	mov    -0x8(%ebp),%eax
405bd0:	8b 00                	mov    (%eax),%eax
405bd2:	89 45 f8             	mov    %eax,-0x8(%ebp)
405bd5:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
405bd9:	75 c7                	jne    0x405ba2
405bdb:	5f                   	pop    %edi
405bdc:	5e                   	pop    %esi
405bdd:	5b                   	pop    %ebx
405bde:	59                   	pop    %ecx
405bdf:	59                   	pop    %ecx
405be0:	5d                   	pop    %ebp
405be1:	c3                   	ret
405be2:	8b c0                	mov    %eax,%eax
405be4:	8b 15 38 50 45 00    	mov    0x455038,%edx
405bea:	89 10                	mov    %edx,(%eax)
405bec:	a3 38 50 45 00       	mov    %eax,0x455038
405bf1:	c3                   	ret
405bf2:	8b c0                	mov    %eax,%eax
405bf4:	55                   	push   %ebp
405bf5:	8b ec                	mov    %esp,%ebp
405bf7:	83 c4 f8             	add    $0xfffffff8,%esp
405bfa:	89 45 fc             	mov    %eax,-0x4(%ebp)
405bfd:	33 c0                	xor    %eax,%eax
405bff:	55                   	push   %ebp
405c00:	68 6d 5c 40 00       	push   $0x405c6d
405c05:	64 ff 30             	push   %fs:(%eax)
405c08:	64 89 20             	mov    %esp,%fs:(%eax)
405c0b:	8b 45 fc             	mov    -0x4(%ebp),%eax
405c0e:	8b 40 04             	mov    0x4(%eax),%eax
405c11:	e8 72 ff ff ff       	call   0x405b88
405c16:	33 c0                	xor    %eax,%eax
405c18:	5a                   	pop    %edx
405c19:	59                   	pop    %ecx
405c1a:	59                   	pop    %ecx
405c1b:	64 89 10             	mov    %edx,%fs:(%eax)
405c1e:	68 74 5c 40 00       	push   $0x405c74
405c23:	8b 45 fc             	mov    -0x4(%ebp),%eax
405c26:	3b 05 38 50 45 00    	cmp    0x455038,%eax
405c2c:	75 0c                	jne    0x405c3a
405c2e:	8b 45 fc             	mov    -0x4(%ebp),%eax
405c31:	8b 00                	mov    (%eax),%eax
405c33:	a3 38 50 45 00       	mov    %eax,0x455038
405c38:	eb 32                	jmp    0x405c6c
405c3a:	a1 38 50 45 00       	mov    0x455038,%eax
405c3f:	89 45 f8             	mov    %eax,-0x8(%ebp)
405c42:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
405c46:	74 24                	je     0x405c6c
405c48:	8b 45 f8             	mov    -0x8(%ebp),%eax
405c4b:	8b 00                	mov    (%eax),%eax
405c4d:	3b 45 fc             	cmp    -0x4(%ebp),%eax
405c50:	75 0c                	jne    0x405c5e
405c52:	8b 45 fc             	mov    -0x4(%ebp),%eax
405c55:	8b 00                	mov    (%eax),%eax
405c57:	8b 55 f8             	mov    -0x8(%ebp),%edx
405c5a:	89 02                	mov    %eax,(%edx)
405c5c:	eb 0e                	jmp    0x405c6c
405c5e:	8b 45 f8             	mov    -0x8(%ebp),%eax
405c61:	8b 00                	mov    (%eax),%eax
405c63:	89 45 f8             	mov    %eax,-0x8(%ebp)
405c66:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
405c6a:	75 dc                	jne    0x405c48
405c6c:	c3                   	ret
405c6d:	e9 da e2 ff ff       	jmp    0x403f4c
405c72:	eb af                	jmp    0x405c23
405c74:	59                   	pop    %ecx
405c75:	59                   	pop    %ecx
405c76:	5d                   	pop    %ebp
405c77:	c3                   	ret
405c78:	8b 10                	mov    (%eax),%edx
405c7a:	85 d2                	test   %edx,%edx
405c7c:	74 0e                	je     0x405c8c
405c7e:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
405c84:	50                   	push   %eax
405c85:	52                   	push   %edx
405c86:	8b 02                	mov    (%edx),%eax
405c88:	ff 50 08             	call   *0x8(%eax)
405c8b:	58                   	pop    %eax
405c8c:	c3                   	ret
405c8d:	8d 40 00             	lea    0x0(%eax),%eax
405c90:	85 d2                	test   %edx,%edx
405c92:	74 19                	je     0x405cad
405c94:	52                   	push   %edx
405c95:	50                   	push   %eax
405c96:	8b 02                	mov    (%edx),%eax