5c2ceb:	5f                   	pop    %edi
5c2cec:	5e                   	pop    %esi
5c2ced:	5d                   	pop    %ebp
5c2cee:	c2 04 00             	ret    $0x4
5c2cf1:	cc                   	int3
5c2cf2:	cc                   	int3
5c2cf3:	cc                   	int3
5c2cf4:	cc                   	int3
5c2cf5:	cc                   	int3
5c2cf6:	cc                   	int3
5c2cf7:	cc                   	int3
5c2cf8:	cc                   	int3
5c2cf9:	cc                   	int3
5c2cfa:	cc                   	int3
5c2cfb:	cc                   	int3
5c2cfc:	cc                   	int3
5c2cfd:	cc                   	int3
5c2cfe:	cc                   	int3
5c2cff:	cc                   	int3
5c2d00:	55                   	push   %ebp
5c2d01:	8b ec                	mov    %esp,%ebp
5c2d03:	56                   	push   %esi
5c2d04:	8b f1                	mov    %ecx,%esi
5c2d06:	57                   	push   %edi
5c2d07:	8b 7d 08             	mov    0x8(%ebp),%edi
5c2d0a:	83 be 54 59 00 00 00 	cmpl   $0x0,0x5954(%esi)
5c2d11:	74 1a                	je     0x5c2d2d
5c2d13:	3b be 58 59 00 00    	cmp    0x5958(%esi),%edi
5c2d19:	72 12                	jb     0x5c2d2d
5c2d1b:	3b be 5c 59 00 00    	cmp    0x595c(%esi),%edi
5c2d21:	77 0a                	ja     0x5c2d2d
5c2d23:	57                   	push   %edi
5c2d24:	e8 a7 00 00 00       	call   0x5c2dd0
5c2d29:	85 c0                	test   %eax,%eax
5c2d2b:	75 7e                	jne    0x5c2dab
5c2d2d:	8b 86 18 59 00 00    	mov    0x5918(%esi),%eax
5c2d33:	83 f8 01             	cmp    $0x1,%eax
5c2d36:	75 08                	jne    0x5c2d40
5c2d38:	81 ff 00 04 00 00    	cmp    $0x400,%edi
5c2d3e:	eb 0b                	jmp    0x5c2d4b
5c2d40:	83 f8 02             	cmp    $0x2,%eax
5c2d43:	75 3e                	jne    0x5c2d83
5c2d45:	81 ff 00 40 00 00    	cmp    $0x4000,%edi
5c2d4b:	0f 96 c1             	setbe  %cl
5c2d4e:	84 c9                	test   %cl,%cl
5c2d50:	74 31                	je     0x5c2d83
5c2d52:	83 f8 01             	cmp    $0x1,%eax
5c2d55:	75 0b                	jne    0x5c2d62
5c2d57:	57                   	push   %edi
5c2d58:	8d 4e 08             	lea    0x8(%esi),%ecx
5c2d5b:	e8 c0 f8 ff ff       	call   0x5c2620
5c2d60:	eb 11                	jmp    0x5c2d73
5c2d62:	83 f8 02             	cmp    $0x2,%eax
5c2d65:	75 10                	jne    0x5c2d77
5c2d67:	57                   	push   %edi
5c2d68:	8d 8e 60 0c 00 00    	lea    0xc60(%esi),%ecx
5c2d6e:	e8 1d f9 ff ff       	call   0x5c2690
5c2d73:	85 c0                	test   %eax,%eax
5c2d75:	75 34                	jne    0x5c2dab
5c2d77:	8b 86 28 59 00 00    	mov    0x5928(%esi),%eax
5c2d7d:	57                   	push   %edi
5c2d7e:	ff d0                	call   *%eax
5c2d80:	83 c4 04             	add    $0x4,%esp
5c2d83:	57                   	push   %edi
5c2d84:	e8 66 1b 02 00       	call   0x5e48ef
5c2d89:	8b f8                	mov    %eax,%edi
5c2d8b:	83 c4 04             	add    $0x4,%esp
5c2d8e:	85 ff                	test   %edi,%edi
5c2d90:	74 17                	je     0x5c2da9
5c2d92:	57                   	push   %edi
5c2d93:	e8 11 45 02 00       	call   0x5e72a9
5c2d98:	6a 00                	push   $0x0
5c2d9a:	50                   	push   %eax
5c2d9b:	ff b6 24 59 00 00    	push   0x5924(%esi)
5c2da1:	e8 7a 55 00 00       	call   0x5c8320
5c2da6:	83 c4 10             	add    $0x10,%esp
5c2da9:	8b c7                	mov    %edi,%eax
5c2dab:	5f                   	pop    %edi
5c2dac:	5e                   	pop    %esi
5c2dad:	5d                   	pop    %ebp
5c2dae:	c2 10 00             	ret    $0x10
5c2db1:	cc                   	int3
5c2db2:	cc                   	int3
5c2db3:	cc                   	int3
5c2db4:	cc                   	int3
5c2db5:	cc                   	int3
5c2db6:	cc                   	int3
5c2db7:	cc                   	int3
5c2db8:	cc                   	int3
5c2db9:	cc                   	int3
5c2dba:	cc                   	int3
5c2dbb:	cc                   	int3
5c2dbc:	cc                   	int3
5c2dbd:	cc                   	int3
5c2dbe:	cc                   	int3
5c2dbf:	cc                   	int3
5c2dc0:	33 c0                	xor    %eax,%eax
5c2dc2:	c2 10 00             	ret    $0x10
5c2dc5:	cc                   	int3
5c2dc6:	cc                   	int3
5c2dc7:	cc                   	int3
5c2dc8:	cc                   	int3
5c2dc9:	cc                   	int3
5c2dca:	cc                   	int3
5c2dcb:	cc                   	int3
5c2dcc:	cc                   	int3
5c2dcd:	cc                   	int3
5c2dce:	cc                   	int3
5c2dcf:	cc                   	int3
5c2dd0:	55                   	push   %ebp
5c2dd1:	8b ec                	mov    %esp,%ebp
5c2dd3:	8b 45 08             	mov    0x8(%ebp),%eax
5c2dd6:	81 ec b4 00 00 00    	sub    $0xb4,%esp
5c2ddc:	53                   	push   %ebx
5c2ddd:	8b d9                	mov    %ecx,%ebx
5c2ddf:	57                   	push   %edi
5c2de0:	3b 83 58 59 00 00    	cmp    0x5958(%ebx),%eax
5c2de6:	0f 82 43 01 00 00    	jb     0x5c2f2f
5c2dec:	3b 83 5c 59 00 00    	cmp    0x595c(%ebx),%eax
5c2df2:	0f 87 37 01 00 00    	ja     0x5c2f2f
5c2df8:	b8 01 00 00 00       	mov    $0x1,%eax
5c2dfd:	bf a8 91 69 00       	mov    $0x6991a8,%edi
5c2e02:	87 07                	xchg   %eax,(%edi)
5c2e04:	85 c0                	test   %eax,%eax
5c2e06:	0f 85 23 01 00 00    	jne    0x5c2f2f
5c2e0c:	ff 8b 54 59 00 00    	decl   0x5954(%ebx)
5c2e12:	8b 83 68 59 00 00    	mov    0x5968(%ebx),%eax
5c2e18:	56                   	push   %esi
5c2e19:	85 c0                	test   %eax,%eax
5c2e1b:	75 23                	jne    0x5c2e40
5c2e1d:	68 00 00 10 00       	push   $0x100000
5c2e22:	e8 c8 1a 02 00       	call   0x5e48ef
5c2e27:	83 c4 04             	add    $0x4,%esp
5c2e2a:	89 83 68 59 00 00    	mov    %eax,0x5968(%ebx)
5c2e30:	85 c0                	test   %eax,%eax
5c2e32:	74 55                	je     0x5c2e89
5c2e34:	8d 88 00 00 10 00    	lea    0x100000(%eax),%ecx
5c2e3a:	89 8b 6c 59 00 00    	mov    %ecx,0x596c(%ebx)
5c2e40:	8b 8b 70 59 00 00    	mov    0x5970(%ebx),%ecx
5c2e46:	85 c9                	test   %ecx,%ecx
5c2e48:	75 08                	jne    0x5c2e52
5c2e4a:	89 83 70 59 00 00    	mov    %eax,0x5970(%ebx)
5c2e50:	8b c8                	mov    %eax,%ecx
5c2e52:	8b b3 74 59 00 00    	mov    0x5974(%ebx),%esi
5c2e58:	89 75 fc             	mov    %esi,-0x4(%ebp)
5c2e5b:	85 f6                	test   %esi,%esi
5c2e5d:	74 1a                	je     0x5c2e79
5c2e5f:	8b 8b 64 59 00 00    	mov    0x5964(%ebx),%ecx
5c2e65:	8b 44 31 0c          	mov    0xc(%ecx,%esi,1),%eax
5c2e69:	89 83 74 59 00 00    	mov    %eax,0x5974(%ebx)
5c2e6f:	c7 44 31 0c 00 00 00 	movl   $0x0,0xc(%ecx,%esi,1)
5c2e76:	00
5c2e77:	eb 2a                	jmp    0x5c2ea3
5c2e79:	8b 83 60 59 00 00    	mov    0x5960(%ebx),%eax
5c2e7f:	03 c1                	add    %ecx,%eax
5c2e81:	3b 83 6c 59 00 00    	cmp    0x596c(%ebx),%eax
5c2e87:	72 0f                	jb     0x5c2e98
5c2e89:	33 c0                	xor    %eax,%eax
5c2e8b:	87 07                	xchg   %eax,(%edi)
5c2e8d:	5e                   	pop    %esi
5c2e8e:	5f                   	pop    %edi
5c2e8f:	33 c0                	xor    %eax,%eax
5c2e91:	5b                   	pop    %ebx
5c2e92:	8b e5                	mov    %ebp,%esp
5c2e94:	5d                   	pop    %ebp
5c2e95:	c2 04 00             	ret    $0x4
5c2e98:	8b f1                	mov    %ecx,%esi
5c2e9a:	89 83 70 59 00 00    	mov    %eax,0x5970(%ebx)
5c2ea0:	89 75 fc             	mov    %esi,-0x4(%ebp)
5c2ea3:	6a 01                	push   $0x1
5c2ea5:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
5c2eab:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
5c2eb2:	6a 10                	push   $0x10
5c2eb4:	50                   	push   %eax
5c2eb5:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5c2ebc:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5c2ec3:	e8 f8 71 00 00       	call   0x5ca0c0
5c2ec8:	8b bb 64 59 00 00    	mov    0x5964(%ebx),%edi
5c2ece:	b9 2c 00 00 00       	mov    $0x2c,%ecx
5c2ed3:	8b 55 08             	mov    0x8(%ebp),%edx
5c2ed6:	03 fe                	add    %esi,%edi
5c2ed8:	8d b5 4c ff ff ff    	lea    -0xb4(%ebp),%esi
5c2ede:	83 c4 0c             	add    $0xc,%esp
5c2ee1:	89 57 04             	mov    %edx,0x4(%edi)
5c2ee4:	c7 07 ed 0c 11 aa    	movl   $0xaa110ced,(%edi)
5c2eea:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
5c2ef1:	83 c7 10             	add    $0x10,%edi
5c2ef4:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5c2ef6:	ff 83 80 59 00 00    	incl   0x5980(%ebx)
5c2efc:	f0 ff 83 7c 59 00 00 	lock incl 0x597c(%ebx)
5c2f03:	33 c0                	xor    %eax,%eax
5c2f05:	b9 a8 91 69 00       	mov    $0x6991a8,%ecx
5c2f0a:	87 01                	xchg   %eax,(%ecx)
5c2f0c:	8b 75 fc             	mov    -0x4(%ebp),%esi
5c2f0f:	85 f6                	test   %esi,%esi
5c2f11:	74 11                	je     0x5c2f24
5c2f13:	6a 00                	push   $0x0
5c2f15:	52                   	push   %edx
5c2f16:	ff b3 24 59 00 00    	push   0x5924(%ebx)
5c2f1c:	e8 ff 53 00 00       	call   0x5c8320
5c2f21:	83 c4 0c             	add    $0xc,%esp
5c2f24:	8b c6                	mov    %esi,%eax
5c2f26:	5e                   	pop    %esi
5c2f27:	5f                   	pop    %edi
5c2f28:	5b                   	pop    %ebx
5c2f29:	8b e5                	mov    %ebp,%esp
5c2f2b:	5d                   	pop    %ebp
5c2f2c:	c2 04 00             	ret    $0x4
5c2f2f:	5f                   	pop    %edi
5c2f30:	33 c0                	xor    %eax,%eax
5c2f32:	5b                   	pop    %ebx
5c2f33:	8b e5                	mov    %ebp,%esp
5c2f35:	5d                   	pop    %ebp
5c2f36:	c2 04 00             	ret    $0x4
5c2f39:	cc                   	int3
5c2f3a:	cc                   	int3
5c2f3b:	cc                   	int3
5c2f3c:	cc                   	int3
5c2f3d:	cc                   	int3
5c2f3e:	cc                   	int3
5c2f3f:	cc                   	int3
5c2f40:	83 b9 18 59 00 00 04 	cmpl   $0x4,0x5918(%ecx)
5c2f47:	0f 95 c0             	setne  %al
5c2f4a:	c3                   	ret
5c2f4b:	cc                   	int3
5c2f4c:	cc                   	int3
5c2f4d:	cc                   	int3
5c2f4e:	cc                   	int3
5c2f4f:	cc                   	int3
5c2f50:	6a 00                	push   $0x0
5c2f52:	6a 00                	push   $0x0
5c2f54:	e8 87 20 00 00       	call   0x5c4fe0
5c2f59:	83 c4 08             	add    $0x8,%esp
5c2f5c:	c3                   	ret
5c2f5d:	cc                   	int3
5c2f5e:	cc                   	int3
5c2f5f:	cc                   	int3
5c2f60:	33 c0                	xor    %eax,%eax
5c2f62:	c2 14 00             	ret    $0x14
5c2f65:	cc                   	int3
5c2f66:	cc                   	int3
5c2f67:	cc                   	int3
5c2f68:	cc                   	int3
5c2f69:	cc                   	int3
5c2f6a:	cc                   	int3
5c2f6b:	cc                   	int3
5c2f6c:	cc                   	int3
5c2f6d:	cc                   	int3
5c2f6e:	cc                   	int3
5c2f6f:	cc                   	int3
5c2f70:	b8 01 00 00 00       	mov    $0x1,%eax
5c2f75:	c2 04 00             	ret    $0x4
5c2f78:	cc                   	int3
5c2f79:	cc                   	int3
5c2f7a:	cc                   	int3
5c2f7b:	cc                   	int3
5c2f7c:	cc                   	int3
5c2f7d:	cc                   	int3
5c2f7e:	cc                   	int3
5c2f7f:	cc                   	int3
5c2f80:	b8 01 00 00 00       	mov    $0x1,%eax
5c2f85:	c2 0c 00             	ret    $0xc
5c2f88:	cc                   	int3
5c2f89:	cc                   	int3
5c2f8a:	cc                   	int3
5c2f8b:	cc                   	int3
5c2f8c:	cc                   	int3
5c2f8d:	cc                   	int3
5c2f8e:	cc                   	int3
5c2f8f:	cc                   	int3
5c2f90:	c2 04 00             	ret    $0x4
5c2f93:	cc                   	int3
5c2f94:	cc                   	int3
5c2f95:	cc                   	int3
5c2f96:	cc                   	int3
5c2f97:	cc                   	int3
5c2f98:	cc                   	int3
5c2f99:	cc                   	int3
5c2f9a:	cc                   	int3
5c2f9b:	cc                   	int3
5c2f9c:	cc                   	int3
5c2f9d:	cc                   	int3
5c2f9e:	cc                   	int3
5c2f9f:	cc                   	int3
5c2fa0:	33 c0                	xor    %eax,%eax
5c2fa2:	c2 08 00             	ret    $0x8
5c2fa5:	cc                   	int3
5c2fa6:	cc                   	int3
5c2fa7:	cc                   	int3
5c2fa8:	cc                   	int3
5c2fa9:	cc                   	int3
5c2faa:	cc                   	int3
5c2fab:	cc                   	int3
5c2fac:	cc                   	int3
5c2fad:	cc                   	int3
5c2fae:	cc                   	int3
5c2faf:	cc                   	int3
5c2fb0:	55                   	push   %ebp
5c2fb1:	8b ec                	mov    %esp,%ebp
5c2fb3:	83 ec 28             	sub    $0x28,%esp
5c2fb6:	6a 28                	push   $0x28
5c2fb8:	8d 45 d8             	lea    -0x28(%ebp),%eax
5c2fbb:	c7 45 d8 28 00 00 00 	movl   $0x28,-0x28(%ebp)
5c2fc2:	50                   	push   %eax
5c2fc3:	ff 15 44 21 60 00    	call   *0x602144
5c2fc9:	50                   	push   %eax
5c2fca:	e8 86 fc 00 00       	call   0x5d2c55
5c2fcf:	f7 d8                	neg    %eax
5c2fd1:	1b c0                	sbb    %eax,%eax
5c2fd3:	23 45 f8             	and    -0x8(%ebp),%eax
5c2fd6:	8b e5                	mov    %ebp,%esp
5c2fd8:	5d                   	pop    %ebp
5c2fd9:	c3                   	ret
5c2fda:	cc                   	int3
5c2fdb:	cc                   	int3
5c2fdc:	cc                   	int3
5c2fdd:	cc                   	int3
5c2fde:	cc                   	int3
5c2fdf:	cc                   	int3
5c2fe0:	53                   	push   %ebx
5c2fe1:	8b d9                	mov    %ecx,%ebx
5c2fe3:	56                   	push   %esi
5c2fe4:	57                   	push   %edi
5c2fe5:	8b 83 18 59 00 00    	mov    0x5918(%ebx),%eax
5c2feb:	83 f8 02             	cmp    $0x2,%eax
5c2fee:	75 3a                	jne    0x5c302a
5c2ff0:	33 d2                	xor    %edx,%edx
5c2ff2:	33 f6                	xor    %esi,%esi
5c2ff4:	8d 0c f5 00 00 00 00 	lea    0x0(,%esi,8),%ecx
5c2ffb:	8b fa                	mov    %edx,%edi
5c2ffd:	2b ce                	sub    %esi,%ecx
5c2fff:	8b 84 cb 90 4c 00 00 	mov    0x4c90(%ebx,%ecx,8),%eax
5c3006:	8b 94 cb 70 4c 00 00 	mov    0x4c70(%ebx,%ecx,8),%edx
5c300d:	0f af d0             	imul   %eax,%edx
5c3010:	8b ca                	mov    %edx,%ecx
5c3012:	85 f6                	test   %esi,%esi
5c3014:	75 03                	jne    0x5c3019
5c3016:	46                   	inc    %esi
5c3017:	eb db                	jmp    0x5c2ff4
5c3019:	3b cf                	cmp    %edi,%ecx
5c301b:	0f 43 d7             	cmovae %edi,%edx
5c301e:	46                   	inc    %esi
5c301f:	83 fe 3a             	cmp    $0x3a,%esi
5c3022:	7c d0                	jl     0x5c2ff4
5c3024:	5f                   	pop    %edi
5c3025:	5e                   	pop    %esi
5c3026:	8b c2                	mov    %edx,%eax
5c3028:	5b                   	pop    %ebx
5c3029:	c3                   	ret
5c302a:	83 f8 01             	cmp    $0x1,%eax