5c1ab4:	75 32                	jne    0x5c1ae8
5c1ab6:	3b d8                	cmp    %eax,%ebx
5c1ab8:	77 d9                	ja     0x5c1a93
5c1aba:	8b ca                	mov    %edx,%ecx
5c1abc:	85 d2                	test   %edx,%edx
5c1abe:	74 3f                	je     0x5c1aff
5c1ac0:	ff 77 4c             	push   0x4c(%edi)
5c1ac3:	53                   	push   %ebx
5c1ac4:	6a 01                	push   $0x1
5c1ac6:	56                   	push   %esi
5c1ac7:	e8 0b c6 02 00       	call   0x5ee0d7
5c1acc:	8b 4d 08             	mov    0x8(%ebp),%ecx
5c1acf:	83 c4 10             	add    $0x10,%esp
5c1ad2:	8b 55 10             	mov    0x10(%ebp),%edx
5c1ad5:	2b c8                	sub    %eax,%ecx
5c1ad7:	8b 45 0c             	mov    0xc(%ebp),%eax
5c1ada:	2b c1                	sub    %ecx,%eax
5c1adc:	5e                   	pop    %esi
5c1add:	5b                   	pop    %ebx
5c1ade:	83 da 00             	sbb    $0x0,%edx
5c1ae1:	5f                   	pop    %edi
5c1ae2:	8b e5                	mov    %ebp,%esp
5c1ae4:	5d                   	pop    %ebp
5c1ae5:	c2 0c 00             	ret    $0xc
5c1ae8:	8b 45 0c             	mov    0xc(%ebp),%eax
5c1aeb:	8b 55 10             	mov    0x10(%ebp),%edx
5c1aee:	2b c3                	sub    %ebx,%eax
5c1af0:	5e                   	pop    %esi
5c1af1:	5b                   	pop    %ebx
5c1af2:	83 da 00             	sbb    $0x0,%edx
5c1af5:	5f                   	pop    %edi
5c1af6:	8b e5                	mov    %ebp,%esp
5c1af8:	5d                   	pop    %ebp
5c1af9:	c2 0c 00             	ret    $0xc
5c1afc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c1aff:	8b 45 0c             	mov    0xc(%ebp),%eax
5c1b02:	8b 55 10             	mov    0x10(%ebp),%edx
5c1b05:	2b c1                	sub    %ecx,%eax
5c1b07:	5e                   	pop    %esi
5c1b08:	5b                   	pop    %ebx
5c1b09:	83 da 00             	sbb    $0x0,%edx
5c1b0c:	5f                   	pop    %edi
5c1b0d:	8b e5                	mov    %ebp,%esp
5c1b0f:	5d                   	pop    %ebp
5c1b10:	c2 0c 00             	ret    $0xc
5c1b13:	cc                   	int3
5c1b14:	cc                   	int3
5c1b15:	cc                   	int3
5c1b16:	cc                   	int3
5c1b17:	cc                   	int3
5c1b18:	cc                   	int3
5c1b19:	cc                   	int3
5c1b1a:	cc                   	int3
5c1b1b:	cc                   	int3
5c1b1c:	cc                   	int3
5c1b1d:	cc                   	int3
5c1b1e:	cc                   	int3
5c1b1f:	cc                   	int3
5c1b20:	55                   	push   %ebp
5c1b21:	8b ec                	mov    %esp,%ebp
5c1b23:	83 ec 10             	sub    $0x10,%esp
5c1b26:	83 79 38 00          	cmpl   $0x0,0x38(%ecx)
5c1b2a:	53                   	push   %ebx
5c1b2b:	56                   	push   %esi
5c1b2c:	57                   	push   %edi
5c1b2d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5c1b30:	0f 84 b6 00 00 00    	je     0x5c1bec
5c1b36:	8b 75 10             	mov    0x10(%ebp),%esi
5c1b39:	8b de                	mov    %esi,%ebx
5c1b3b:	8b 55 0c             	mov    0xc(%ebp),%edx
5c1b3e:	8b fa                	mov    %edx,%edi
5c1b40:	8b 45 08             	mov    0x8(%ebp),%eax
5c1b43:	89 45 08             	mov    %eax,0x8(%ebp)
5c1b46:	85 f6                	test   %esi,%esi
5c1b48:	0f 8c 8d 00 00 00    	jl     0x5c1bdb
5c1b4e:	7f 08                	jg     0x5c1b58
5c1b50:	85 d2                	test   %edx,%edx
5c1b52:	0f 84 83 00 00 00    	je     0x5c1bdb
5c1b58:	e8 f3 d9 e7 ff       	call   0x43f550
5c1b5d:	8b f0                	mov    %eax,%esi
5c1b5f:	8b c2                	mov    %edx,%eax
5c1b61:	89 45 f8             	mov    %eax,-0x8(%ebp)
5c1b64:	85 c0                	test   %eax,%eax
5c1b66:	7c 3e                	jl     0x5c1ba6
5c1b68:	7f 04                	jg     0x5c1b6e
5c1b6a:	85 f6                	test   %esi,%esi
5c1b6c:	74 38                	je     0x5c1ba6
5c1b6e:	3b d8                	cmp    %eax,%ebx
5c1b70:	7f 0b                	jg     0x5c1b7d
5c1b72:	7c 04                	jl     0x5c1b78
5c1b74:	3b fe                	cmp    %esi,%edi
5c1b76:	73 05                	jae    0x5c1b7d
5c1b78:	8b f7                	mov    %edi,%esi
5c1b7a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5c1b7d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c1b80:	8b 45 08             	mov    0x8(%ebp),%eax
5c1b83:	56                   	push   %esi
5c1b84:	50                   	push   %eax
5c1b85:	8b 41 20             	mov    0x20(%ecx),%eax
5c1b88:	ff 30                	push   (%eax)
5c1b8a:	e8 71 13 02 00       	call   0x5e2f00
5c1b8f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c1b92:	83 c4 0c             	add    $0xc,%esp
5c1b95:	2b fe                	sub    %esi,%edi
5c1b97:	1b 5d f8             	sbb    -0x8(%ebp),%ebx
5c1b9a:	8b 41 30             	mov    0x30(%ecx),%eax
5c1b9d:	29 30                	sub    %esi,(%eax)
5c1b9f:	8b 41 20             	mov    0x20(%ecx),%eax
5c1ba2:	01 30                	add    %esi,(%eax)
5c1ba4:	eb 22                	jmp    0x5c1bc8
5c1ba6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c1ba9:	8b 45 08             	mov    0x8(%ebp),%eax
5c1bac:	8b 11                	mov    (%ecx),%edx
5c1bae:	0f b6 00             	movzbl (%eax),%eax
5c1bb1:	50                   	push   %eax
5c1bb2:	ff 52 0c             	call   *0xc(%edx)
5c1bb5:	83 f8 ff             	cmp    $0xffffffff,%eax
5c1bb8:	74 1b                	je     0x5c1bd5
5c1bba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c1bbd:	83 c7 ff             	add    $0xffffffff,%edi
5c1bc0:	be 01 00 00 00       	mov    $0x1,%esi
5c1bc5:	83 d3 ff             	adc    $0xffffffff,%ebx
5c1bc8:	01 75 08             	add    %esi,0x8(%ebp)
5c1bcb:	85 db                	test   %ebx,%ebx
5c1bcd:	7f 89                	jg     0x5c1b58
5c1bcf:	7c 04                	jl     0x5c1bd5
5c1bd1:	85 ff                	test   %edi,%edi
5c1bd3:	75 83                	jne    0x5c1b58
5c1bd5:	8b 55 0c             	mov    0xc(%ebp),%edx
5c1bd8:	8b 75 10             	mov    0x10(%ebp),%esi
5c1bdb:	2b d7                	sub    %edi,%edx
5c1bdd:	5f                   	pop    %edi
5c1bde:	1b f3                	sbb    %ebx,%esi
5c1be0:	8b c2                	mov    %edx,%eax
5c1be2:	8b d6                	mov    %esi,%edx
5c1be4:	5e                   	pop    %esi
5c1be5:	5b                   	pop    %ebx
5c1be6:	8b e5                	mov    %ebp,%esp
5c1be8:	5d                   	pop    %ebp
5c1be9:	c2 0c 00             	ret    $0xc
5c1bec:	8b 41 20             	mov    0x20(%ecx),%eax
5c1bef:	8b 75 0c             	mov    0xc(%ebp),%esi
5c1bf2:	8b 7d 10             	mov    0x10(%ebp),%edi
5c1bf5:	89 75 f4             	mov    %esi,-0xc(%ebp)
5c1bf8:	8b 00                	mov    (%eax),%eax
5c1bfa:	89 7d f0             	mov    %edi,-0x10(%ebp)
5c1bfd:	89 45 f8             	mov    %eax,-0x8(%ebp)
5c1c00:	85 c0                	test   %eax,%eax
5c1c02:	74 07                	je     0x5c1c0b
5c1c04:	8b 41 30             	mov    0x30(%ecx),%eax
5c1c07:	8b 00                	mov    (%eax),%eax
5c1c09:	eb 02                	jmp    0x5c1c0d
5c1c0b:	33 c0                	xor    %eax,%eax
5c1c0d:	99                   	cltd
5c1c0e:	8b d8                	mov    %eax,%ebx
5c1c10:	8b c2                	mov    %edx,%eax
5c1c12:	89 45 10             	mov    %eax,0x10(%ebp)
5c1c15:	85 ff                	test   %edi,%edi
5c1c17:	7c 6d                	jl     0x5c1c86
5c1c19:	7f 04                	jg     0x5c1c1f
5c1c1b:	85 f6                	test   %esi,%esi
5c1c1d:	74 67                	je     0x5c1c86
5c1c1f:	85 c0                	test   %eax,%eax
5c1c21:	7c 3d                	jl     0x5c1c60
5c1c23:	7f 04                	jg     0x5c1c29
5c1c25:	85 db                	test   %ebx,%ebx
5c1c27:	74 37                	je     0x5c1c60
5c1c29:	3b f8                	cmp    %eax,%edi
5c1c2b:	7f 0b                	jg     0x5c1c38
5c1c2d:	7c 04                	jl     0x5c1c33
5c1c2f:	3b f3                	cmp    %ebx,%esi
5c1c31:	73 05                	jae    0x5c1c38
5c1c33:	8b de                	mov    %esi,%ebx
5c1c35:	89 7d 10             	mov    %edi,0x10(%ebp)
5c1c38:	53                   	push   %ebx
5c1c39:	ff 75 08             	push   0x8(%ebp)
5c1c3c:	ff 75 f8             	push   -0x8(%ebp)
5c1c3f:	e8 bc 12 02 00       	call   0x5e2f00
5c1c44:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c1c47:	83 c4 0c             	add    $0xc,%esp
5c1c4a:	8b 55 08             	mov    0x8(%ebp),%edx
5c1c4d:	03 d3                	add    %ebx,%edx
5c1c4f:	2b f3                	sub    %ebx,%esi
5c1c51:	8b 41 30             	mov    0x30(%ecx),%eax
5c1c54:	1b 7d 10             	sbb    0x10(%ebp),%edi
5c1c57:	29 18                	sub    %ebx,(%eax)
5c1c59:	8b 41 20             	mov    0x20(%ecx),%eax
5c1c5c:	01 18                	add    %ebx,(%eax)
5c1c5e:	eb 03                	jmp    0x5c1c63
5c1c60:	8b 55 08             	mov    0x8(%ebp),%edx
5c1c63:	85 ff                	test   %edi,%edi
5c1c65:	7c 1f                	jl     0x5c1c86
5c1c67:	7f 04                	jg     0x5c1c6d
5c1c69:	85 f6                	test   %esi,%esi
5c1c6b:	74 19                	je     0x5c1c86
5c1c6d:	8b 41 4c             	mov    0x4c(%ecx),%eax
5c1c70:	85 c0                	test   %eax,%eax
5c1c72:	74 12                	je     0x5c1c86
5c1c74:	50                   	push   %eax
5c1c75:	56                   	push   %esi
5c1c76:	6a 01                	push   $0x1
5c1c78:	52                   	push   %edx
5c1c79:	e8 a9 cd 03 00       	call   0x5fea27
5c1c7e:	83 c4 10             	add    $0x10,%esp
5c1c81:	2b f0                	sub    %eax,%esi
5c1c83:	83 df 00             	sbb    $0x0,%edi
5c1c86:	8b 45 f4             	mov    -0xc(%ebp),%eax
5c1c89:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c1c8c:	2b c6                	sub    %esi,%eax
5c1c8e:	1b d7                	sbb    %edi,%edx
5c1c90:	5f                   	pop    %edi
5c1c91:	5e                   	pop    %esi
5c1c92:	5b                   	pop    %ebx
5c1c93:	8b e5                	mov    %ebp,%esp
5c1c95:	5d                   	pop    %ebp
5c1c96:	c2 0c 00             	ret    $0xc
5c1c99:	cc                   	int3
5c1c9a:	cc                   	int3
5c1c9b:	cc                   	int3
5c1c9c:	cc                   	int3
5c1c9d:	cc                   	int3
5c1c9e:	cc                   	int3
5c1c9f:	cc                   	int3
5c1ca0:	55                   	push   %ebp
5c1ca1:	8b ec                	mov    %esp,%ebp
5c1ca3:	6a ff                	push   $0xffffffff
5c1ca5:	68 a8 7d 65 00       	push   $0x657da8
5c1caa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c1cb0:	50                   	push   %eax
5c1cb1:	83 ec 0c             	sub    $0xc,%esp
5c1cb4:	53                   	push   %ebx
5c1cb5:	56                   	push   %esi
5c1cb6:	57                   	push   %edi
5c1cb7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5c1cbc:	33 c5                	xor    %ebp,%eax
5c1cbe:	50                   	push   %eax
5c1cbf:	8d 45 f4             	lea    -0xc(%ebp),%eax
5c1cc2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5c1cc8:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5c1ccf:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
5c1cd6:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5c1cdd:	8d 45 e8             	lea    -0x18(%ebp),%eax
5c1ce0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c1ce7:	50                   	push   %eax
5c1ce8:	68 e4 e4 6c 00       	push   $0x6ce4e4
5c1ced:	68 70 e4 6c 00       	push   $0x6ce470
5c1cf2:	68 02 00 00 80       	push   $0x80000002
5c1cf7:	e8 a4 2a 00 00       	call   0x5c47a0
5c1cfc:	8b 75 e8             	mov    -0x18(%ebp),%esi
5c1cff:	83 c4 10             	add    $0x10,%esp
5c1d02:	85 c0                	test   %eax,%eax
5c1d04:	0f 94 c3             	sete   %bl
5c1d07:	85 f6                	test   %esi,%esi
5c1d09:	0f 84 91 00 00 00    	je     0x5c1da0
5c1d0f:	8b 7d ec             	mov    -0x14(%ebp),%edi
5c1d12:	3b f7                	cmp    %edi,%esi
5c1d14:	74 4a                	je     0x5c1d60
5c1d16:	8b 4e 14             	mov    0x14(%esi),%ecx
5c1d19:	83 f9 10             	cmp    $0x10,%ecx
5c1d1c:	72 27                	jb     0x5c1d45
5c1d1e:	8b 06                	mov    (%esi),%eax
5c1d20:	41                   	inc    %ecx
5c1d21:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c1d27:	72 12                	jb     0x5c1d3b
5c1d29:	8b 50 fc             	mov    -0x4(%eax),%edx
5c1d2c:	83 c1 23             	add    $0x23,%ecx
5c1d2f:	2b c2                	sub    %edx,%eax
5c1d31:	83 c0 fc             	add    $0xfffffffc,%eax
5c1d34:	83 f8 1f             	cmp    $0x1f,%eax
5c1d37:	77 7b                	ja     0x5c1db4
5c1d39:	8b c2                	mov    %edx,%eax
5c1d3b:	51                   	push   %ecx
5c1d3c:	50                   	push   %eax
5c1d3d:	e8 30 f3 01 00       	call   0x5e1072
5c1d42:	83 c4 08             	add    $0x8,%esp
5c1d45:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5c1d4c:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
5c1d53:	c6 06 00             	movb   $0x0,(%esi)
5c1d56:	83 c6 18             	add    $0x18,%esi
5c1d59:	3b f7                	cmp    %edi,%esi
5c1d5b:	75 b9                	jne    0x5c1d16
5c1d5d:	8b 75 e8             	mov    -0x18(%ebp),%esi
5c1d60:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5c1d63:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5c1d68:	2b ce                	sub    %esi,%ecx
5c1d6a:	f7 e9                	imul   %ecx
5c1d6c:	c1 fa 02             	sar    $0x2,%edx
5c1d6f:	8b c2                	mov    %edx,%eax
5c1d71:	c1 e8 1f             	shr    $0x1f,%eax
5c1d74:	03 c2                	add    %edx,%eax
5c1d76:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5c1d79:	8b c6                	mov    %esi,%eax
5c1d7b:	c1 e1 03             	shl    $0x3,%ecx
5c1d7e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c1d84:	72 10                	jb     0x5c1d96
5c1d86:	8b 76 fc             	mov    -0x4(%esi),%esi
5c1d89:	83 c1 23             	add    $0x23,%ecx
5c1d8c:	2b c6                	sub    %esi,%eax
5c1d8e:	83 c0 fc             	add    $0xfffffffc,%eax
5c1d91:	83 f8 1f             	cmp    $0x1f,%eax
5c1d94:	77 1e                	ja     0x5c1db4
5c1d96:	51                   	push   %ecx
5c1d97:	56                   	push   %esi
5c1d98:	e8 d5 f2 01 00       	call   0x5e1072
5c1d9d:	83 c4 08             	add    $0x8,%esp
5c1da0:	8a c3                	mov    %bl,%al
5c1da2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c1da5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c1dac:	59                   	pop    %ecx
5c1dad:	5f                   	pop    %edi
5c1dae:	5e                   	pop    %esi
5c1daf:	5b                   	pop    %ebx
5c1db0:	8b e5                	mov    %ebp,%esp
5c1db2:	5d                   	pop    %ebp
5c1db3:	c3                   	ret
5c1db4:	e8 76 b1 02 00       	call   0x5ecf2f
5c1db9:	cc                   	int3
5c1dba:	cc                   	int3
5c1dbb:	cc                   	int3
5c1dbc:	cc                   	int3
5c1dbd:	cc                   	int3
5c1dbe:	cc                   	int3
5c1dbf:	cc                   	int3
5c1dc0:	55                   	push   %ebp
5c1dc1:	8b ec                	mov    %esp,%ebp
5c1dc3:	56                   	push   %esi
5c1dc4:	8b 75 08             	mov    0x8(%ebp),%esi
5c1dc7:	56                   	push   %esi
5c1dc8:	ff 76 04             	push   0x4(%esi)
5c1dcb:	ff 36                	push   (%esi)
5c1dcd:	e8 de 24 e8 ff       	call   0x4442b0
5c1dd2:	8b 06                	mov    (%esi),%eax
5c1dd4:	56                   	push   %esi
5c1dd5:	68 e4 e4 6c 00       	push   $0x6ce4e4
5c1dda:	68 70 e4 6c 00       	push   $0x6ce470
5c1ddf:	68 02 00 00 80       	push   $0x80000002
5c1de4:	89 46 04             	mov    %eax,0x4(%esi)
5c1de7:	e8 44 16 00 00       	call   0x5c3430
5c1dec:	83 c4 1c             	add    $0x1c,%esp
5c1def:	5e                   	pop    %esi
5c1df0:	85 c0                	test   %eax,%eax
5c1df2:	74 0e                	je     0x5c1e02
5c1df4:	83 f8 02             	cmp    $0x2,%eax
5c1df7:	74 09                	je     0x5c1e02
5c1df9:	83 f8 03             	cmp    $0x3,%eax
5c1dfc:	74 04                	je     0x5c1e02
5c1dfe:	32 c0                	xor    %al,%al
5c1e00:	5d                   	pop    %ebp
5c1e01:	c3                   	ret
5c1e02:	b0 01                	mov    $0x1,%al