405b8d:	33 c0                	xor    %eax,%eax
405b8f:	40                   	inc    %eax
405b90:	eb 02                	jmp    0x405b94
405b92:	33 c0                	xor    %eax,%eax
405b94:	c2 04 00             	ret    $0x4
405b97:	53                   	push   %ebx
405b98:	56                   	push   %esi
405b99:	8b 35 2c 82 40 00    	mov    0x40822c,%esi
405b9f:	57                   	push   %edi
405ba0:	8b 7c 24 10          	mov    0x10(%esp),%edi
405ba4:	57                   	push   %edi
405ba5:	ff d6                	call   *%esi
405ba7:	8b d8                	mov    %eax,%ebx
405ba9:	53                   	push   %ebx
405baa:	ff d6                	call   *%esi
405bac:	8a 0f                	mov    (%edi),%cl
405bae:	84 c9                	test   %cl,%cl
405bb0:	74 10                	je     0x405bc2
405bb2:	80 3b 3a             	cmpb   $0x3a,(%ebx)
405bb5:	75 0b                	jne    0x405bc2
405bb7:	80 7b 01 5c          	cmpb   $0x5c,0x1(%ebx)
405bbb:	75 05                	jne    0x405bc2
405bbd:	50                   	push   %eax
405bbe:	ff d6                	call   *%esi
405bc0:	eb 24                	jmp    0x405be6
405bc2:	80 f9 5c             	cmp    $0x5c,%cl
405bc5:	75 1d                	jne    0x405be4
405bc7:	38 4f 01             	cmp    %cl,0x1(%edi)
405bca:	75 18                	jne    0x405be4
405bcc:	6a 02                	push   $0x2
405bce:	5e                   	pop    %esi
405bcf:	6a 5c                	push   $0x5c
405bd1:	50                   	push   %eax
405bd2:	4e                   	dec    %esi
405bd3:	e8 51 ff ff ff       	call   0x405b29
405bd8:	80 38 00             	cmpb   $0x0,(%eax)
405bdb:	74 07                	je     0x405be4
405bdd:	40                   	inc    %eax
405bde:	85 f6                	test   %esi,%esi
405be0:	75 ed                	jne    0x405bcf
405be2:	eb 02                	jmp    0x405be6
405be4:	33 c0                	xor    %eax,%eax
405be6:	5f                   	pop    %edi
405be7:	5e                   	pop    %esi
405be8:	5b                   	pop    %ebx
405be9:	c2 04 00             	ret    $0x4
405bec:	56                   	push   %esi
405bed:	57                   	push   %edi
405bee:	ff 74 24 0c          	push   0xc(%esp)
405bf2:	be a0 bc 42 00       	mov    $0x42bca0,%esi
405bf7:	56                   	push   %esi
405bf8:	e8 69 05 00 00       	call   0x406166
405bfd:	56                   	push   %esi
405bfe:	e8 94 ff ff ff       	call   0x405b97
405c03:	8b f8                	mov    %eax,%edi
405c05:	85 ff                	test   %edi,%edi
405c07:	75 04                	jne    0x405c0d
405c09:	33 c0                	xor    %eax,%eax
405c0b:	eb 52                	jmp    0x405c5f
405c0d:	57                   	push   %edi
405c0e:	e8 bd 07 00 00       	call   0x4063d0
405c13:	f6 05 3c f4 42 00 80 	testb  $0x80,0x42f43c
405c1a:	74 0a                	je     0x405c26
405c1c:	8a 07                	mov    (%edi),%al
405c1e:	84 c0                	test   %al,%al
405c20:	74 e7                	je     0x405c09
405c22:	3c 5c                	cmp    $0x5c,%al
405c24:	74 e3                	je     0x405c09
405c26:	2b fe                	sub    %esi,%edi
405c28:	eb 14                	jmp    0x405c3e
405c2a:	e8 3a 08 00 00       	call   0x406469
405c2f:	85 c0                	test   %eax,%eax
405c31:	74 05                	je     0x405c38
405c33:	f6 00 10             	testb  $0x10,(%eax)
405c36:	74 d1                	je     0x405c09
405c38:	56                   	push   %esi
405c39:	e8 07 ff ff ff       	call   0x405b45
405c3e:	56                   	push   %esi
405c3f:	e8 38 05 00 00       	call   0x40617c
405c44:	3b c7                	cmp    %edi,%eax
405c46:	56                   	push   %esi
405c47:	7f e1                	jg     0x405c2a
405c49:	e8 b0 fe ff ff       	call   0x405afe
405c4e:	56                   	push   %esi
405c4f:	ff 15 fc 80 40 00    	call   *0x4080fc
405c55:	33 c9                	xor    %ecx,%ecx
405c57:	83 f8 ff             	cmp    $0xffffffff,%eax
405c5a:	0f 95 c1             	setne  %cl
405c5d:	8b c1                	mov    %ecx,%eax
405c5f:	5f                   	pop    %edi
405c60:	5e                   	pop    %esi
405c61:	c2 04 00             	ret    $0x4
405c64:	55                   	push   %ebp
405c65:	8b ec                	mov    %esp,%ebp
405c67:	51                   	push   %ecx
405c68:	53                   	push   %ebx
405c69:	56                   	push   %esi
405c6a:	57                   	push   %edi
405c6b:	8b 3d a0 80 40 00    	mov    0x4080a0,%edi
405c71:	ff 75 0c             	push   0xc(%ebp)
405c74:	ff d7                	call   *%edi
405c76:	8b 75 08             	mov    0x8(%ebp),%esi
405c79:	89 45 fc             	mov    %eax,-0x4(%ebp)
405c7c:	eb 27                	jmp    0x405ca5
405c7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
405c81:	ff 75 0c             	push   0xc(%ebp)
405c84:	8a 1c 30             	mov    (%eax,%esi,1),%bl
405c87:	80 24 30 00          	andb   $0x0,(%eax,%esi,1)
405c8b:	56                   	push   %esi
405c8c:	ff 15 18 81 40 00    	call   *0x408118
405c92:	85 c0                	test   %eax,%eax
405c94:	8b 45 fc             	mov    -0x4(%ebp),%eax
405c97:	88 1c 30             	mov    %bl,(%eax,%esi,1)
405c9a:	74 1a                	je     0x405cb6
405c9c:	56                   	push   %esi
405c9d:	ff 15 2c 82 40 00    	call   *0x40822c
405ca3:	8b f0                	mov    %eax,%esi
405ca5:	56                   	push   %esi
405ca6:	ff d7                	call   *%edi
405ca8:	3b 45 fc             	cmp    -0x4(%ebp),%eax
405cab:	7d d1                	jge    0x405c7e
405cad:	33 c0                	xor    %eax,%eax
405caf:	5f                   	pop    %edi
405cb0:	5e                   	pop    %esi
405cb1:	5b                   	pop    %ebx
405cb2:	c9                   	leave
405cb3:	c2 08 00             	ret    $0x8
405cb6:	8b c6                	mov    %esi,%eax
405cb8:	eb f5                	jmp    0x405caf
405cba:	8b 4c 24 04          	mov    0x4(%esp),%ecx
405cbe:	56                   	push   %esi
405cbf:	8b 74 24 10          	mov    0x10(%esp),%esi
405cc3:	85 f6                	test   %esi,%esi
405cc5:	76 0f                	jbe    0x405cd6
405cc7:	8b 44 24 0c          	mov    0xc(%esp),%eax
405ccb:	2b c1                	sub    %ecx,%eax
405ccd:	8a 14 08             	mov    (%eax,%ecx,1),%dl
405cd0:	88 11                	mov    %dl,(%ecx)
405cd2:	41                   	inc    %ecx
405cd3:	4e                   	dec    %esi
405cd4:	75 f7                	jne    0x405ccd
405cd6:	5e                   	pop    %esi
405cd7:	c2 0c 00             	ret    $0xc
405cda:	56                   	push   %esi
405cdb:	ff 74 24 08          	push   0x8(%esp)
405cdf:	ff 15 fc 80 40 00    	call   *0x4080fc
405ce5:	8b f0                	mov    %eax,%esi
405ce7:	83 fe ff             	cmp    $0xffffffff,%esi
405cea:	74 0d                	je     0x405cf9
405cec:	24 fe                	and    $0xfe,%al
405cee:	50                   	push   %eax
405cef:	ff 74 24 0c          	push   0xc(%esp)
405cf3:	ff 15 b4 80 40 00    	call   *0x4080b4
405cf9:	8b c6                	mov    %esi,%eax
405cfb:	5e                   	pop    %esi
405cfc:	c2 04 00             	ret    $0x4
405cff:	ff 74 24 04          	push   0x4(%esp)
405d03:	ff 15 fc 80 40 00    	call   *0x4080fc
405d09:	8b c8                	mov    %eax,%ecx
405d0b:	6a 00                	push   $0x0
405d0d:	41                   	inc    %ecx
405d0e:	f7 d9                	neg    %ecx
405d10:	1b c9                	sbb    %ecx,%ecx
405d12:	23 c8                	and    %eax,%ecx
405d14:	51                   	push   %ecx
405d15:	ff 74 24 14          	push   0x14(%esp)
405d19:	6a 00                	push   $0x0
405d1b:	6a 01                	push   $0x1
405d1d:	ff 74 24 1c          	push   0x1c(%esp)
405d21:	ff 74 24 1c          	push   0x1c(%esp)
405d25:	ff 15 74 80 40 00    	call   *0x408074
405d2b:	c2 0c 00             	ret    $0xc
405d2e:	55                   	push   %ebp
405d2f:	8b ec                	mov    %esp,%ebp
405d31:	56                   	push   %esi
405d32:	8b 75 08             	mov    0x8(%ebp),%esi
405d35:	57                   	push   %edi
405d36:	6a 64                	push   $0x64
405d38:	5f                   	pop    %edi
405d39:	a1 cc a3 40 00       	mov    0x40a3cc,%eax
405d3e:	4f                   	dec    %edi
405d3f:	89 45 08             	mov    %eax,0x8(%ebp)
405d42:	ff 15 90 80 40 00    	call   *0x408090
405d48:	6a 1a                	push   $0x1a
405d4a:	33 d2                	xor    %edx,%edx
405d4c:	59                   	pop    %ecx
405d4d:	f7 f1                	div    %ecx
405d4f:	56                   	push   %esi
405d50:	8d 45 08             	lea    0x8(%ebp),%eax
405d53:	6a 00                	push   $0x0
405d55:	50                   	push   %eax
405d56:	ff 75 0c             	push   0xc(%ebp)
405d59:	00 55 0a             	add    %dl,0xa(%ebp)
405d5c:	ff 15 d0 80 40 00    	call   *0x4080d0
405d62:	85 c0                	test   %eax,%eax
405d64:	75 0d                	jne    0x405d73
405d66:	85 ff                	test   %edi,%edi
405d68:	75 cf                	jne    0x405d39
405d6a:	80 26 00             	andb   $0x0,(%esi)
405d6d:	5f                   	pop    %edi
405d6e:	5e                   	pop    %esi
405d6f:	5d                   	pop    %ebp
405d70:	c2 08 00             	ret    $0x8
405d73:	8b c6                	mov    %esi,%eax
405d75:	eb f6                	jmp    0x405d6d
405d77:	55                   	push   %ebp
405d78:	8b ec                	mov    %esp,%ebp
405d7a:	56                   	push   %esi
405d7b:	8b 75 10             	mov    0x10(%ebp),%esi
405d7e:	8d 45 10             	lea    0x10(%ebp),%eax
405d81:	6a 00                	push   $0x0
405d83:	50                   	push   %eax
405d84:	56                   	push   %esi
405d85:	ff 75 0c             	push   0xc(%ebp)
405d88:	ff 75 08             	push   0x8(%ebp)
405d8b:	ff 15 80 80 40 00    	call   *0x408080
405d91:	85 c0                	test   %eax,%eax
405d93:	74 0a                	je     0x405d9f
405d95:	3b 75 10             	cmp    0x10(%ebp),%esi
405d98:	75 05                	jne    0x405d9f
405d9a:	33 c0                	xor    %eax,%eax
405d9c:	40                   	inc    %eax
405d9d:	eb 02                	jmp    0x405da1
405d9f:	33 c0                	xor    %eax,%eax
405da1:	5e                   	pop    %esi
405da2:	5d                   	pop    %ebp
405da3:	c2 0c 00             	ret    $0xc
405da6:	55                   	push   %ebp
405da7:	8b ec                	mov    %esp,%ebp
405da9:	56                   	push   %esi
405daa:	8b 75 10             	mov    0x10(%ebp),%esi
405dad:	8d 45 10             	lea    0x10(%ebp),%eax
405db0:	6a 00                	push   $0x0
405db2:	50                   	push   %eax
405db3:	56                   	push   %esi
405db4:	ff 75 0c             	push   0xc(%ebp)
405db7:	ff 75 08             	push   0x8(%ebp)
405dba:	ff 15 d4 80 40 00    	call   *0x4080d4
405dc0:	85 c0                	test   %eax,%eax
405dc2:	74 0a                	je     0x405dce
405dc4:	3b 75 10             	cmp    0x10(%ebp),%esi
405dc7:	75 05                	jne    0x405dce
405dc9:	33 c0                	xor    %eax,%eax
405dcb:	40                   	inc    %eax
405dcc:	eb 02                	jmp    0x405dd0
405dce:	33 c0                	xor    %eax,%eax
405dd0:	5e                   	pop    %esi
405dd1:	5d                   	pop    %ebp
405dd2:	c2 0c 00             	ret    $0xc
405dd5:	53                   	push   %ebx
405dd6:	8b 1d 0c 81 40 00    	mov    0x40810c,%ebx
405ddc:	55                   	push   %ebp
405ddd:	56                   	push   %esi
405dde:	8b 74 24 14          	mov    0x14(%esp),%esi
405de2:	57                   	push   %edi
405de3:	85 f6                	test   %esi,%esi
405de5:	c7 05 28 c6 42 00 4e 	movl   $0x4c554e,0x42c628
405dec:	55 4c 00
405def:	bf 00 04 00 00       	mov    $0x400,%edi
405df4:	bd 28 c6 42 00       	mov    $0x42c628,%ebp
405df9:	74 26                	je     0x405e21
405dfb:	6a 01                	push   $0x1
405dfd:	6a 00                	push   $0x0
405dff:	56                   	push   %esi
405e00:	e8 fa fe ff ff       	call   0x405cff
405e05:	50                   	push   %eax
405e06:	ff 15 14 81 40 00    	call   *0x408114
405e0c:	57                   	push   %edi
405e0d:	55                   	push   %ebp
405e0e:	56                   	push   %esi
405e0f:	ff d3                	call   *%ebx
405e11:	85 c0                	test   %eax,%eax
405e13:	0f 84 27 01 00 00    	je     0x405f40
405e19:	3b c7                	cmp    %edi,%eax
405e1b:	0f 8f 1f 01 00 00    	jg     0x405f40
405e21:	be 28 ca 42 00       	mov    $0x42ca28,%esi
405e26:	57                   	push   %edi
405e27:	56                   	push   %esi
405e28:	ff 74 24 1c          	push   0x1c(%esp)
405e2c:	ff d3                	call   *%ebx
405e2e:	85 c0                	test   %eax,%eax
405e30:	0f 84 0a 01 00 00    	je     0x405f40
405e36:	3b c7                	cmp    %edi,%eax
405e38:	0f 8f 02 01 00 00    	jg     0x405f40
405e3e:	56                   	push   %esi
405e3f:	55                   	push   %ebp
405e40:	68 e0 a3 40 00       	push   $0x40a3e0
405e45:	68 28 c2 42 00       	push   $0x42c228
405e4a:	ff 15 74 82 40 00    	call   *0x408274
405e50:	8b d8                	mov    %eax,%ebx
405e52:	a1 34 f4 42 00       	mov    0x42f434,%eax
405e57:	83 c4 10             	add    $0x10,%esp
405e5a:	ff b0 28 01 00 00    	push   0x128(%eax)
405e60:	56                   	push   %esi
405e61:	e8 22 03 00 00       	call   0x406188
405e66:	6a 04                	push   $0x4
405e68:	68 00 00 00 c0       	push   $0xc0000000
405e6d:	56                   	push   %esi
405e6e:	e8 8c fe ff ff       	call   0x405cff
405e73:	8b e8                	mov    %eax,%ebp
405e75:	83 fd ff             	cmp    $0xffffffff,%ebp
405e78:	89 6c 24 18          	mov    %ebp,0x18(%esp)
405e7c:	0f 84 be 00 00 00    	je     0x405f40
405e82:	6a 00                	push   $0x0
405e84:	55                   	push   %ebp
405e85:	ff 15 78 80 40 00    	call   *0x408078
405e8b:	8b f8                	mov    %eax,%edi
405e8d:	8d 44 1f 0a          	lea    0xa(%edi,%ebx,1),%eax
405e91:	50                   	push   %eax
405e92:	6a 40                	push   $0x40
405e94:	ff 15 58 81 40 00    	call   *0x408158
405e9a:	8b f0                	mov    %eax,%esi
405e9c:	85 f6                	test   %esi,%esi
405e9e:	0f 84 95 00 00 00    	je     0x405f39
405ea4:	57                   	push   %edi
405ea5:	56                   	push   %esi
405ea6:	55                   	push   %ebp
405ea7:	e8 cb fe ff ff       	call   0x405d77
405eac:	85 c0                	test   %eax,%eax
405eae:	0f 84 85 00 00 00    	je     0x405f39
405eb4:	68 d4 a3 40 00       	push   $0x40a3d4
405eb9:	56                   	push   %esi
405eba:	e8 a5 fd ff ff       	call   0x405c64
405ebf:	85 c0                	test   %eax,%eax
405ec1:	75 14                	jne    0x405ed7
405ec3:	8d 04 3e             	lea    (%esi,%edi,1),%eax
405ec6:	68 d4 a3 40 00       	push   $0x40a3d4
405ecb:	50                   	push   %eax
405ecc:	ff 15 d8 80 40 00    	call   *0x4080d8
405ed2:	83 c7 0a             	add    $0xa,%edi
405ed5:	eb 35                	jmp    0x405f0c
405ed7:	83 c0 0a             	add    $0xa,%eax
405eda:	68 d0 a3 40 00       	push   $0x40a3d0
405edf:	50                   	push   %eax
405ee0:	e8 7f fd ff ff       	call   0x405c64
405ee5:	8b e8                	mov    %eax,%ebp
405ee7:	85 ed                	test   %ebp,%ebp
405ee9:	74 1d                	je     0x405f08
405eeb:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
405eee:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
405ef1:	eb 06                	jmp    0x405ef9
405ef3:	8a 11                	mov    (%ecx),%dl
405ef5:	88 10                	mov    %dl,(%eax)
405ef7:	48                   	dec    %eax
405ef8:	49                   	dec    %ecx
405ef9:	3b cd                	cmp    %ebp,%ecx
405efb:	77 f6                	ja     0x405ef3
405efd:	2b ee                	sub    %esi,%ebp
405eff:	45                   	inc    %ebp
405f00:	8b c5                	mov    %ebp,%eax