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
5c302d:	75 38                	jne    0x5c3067
5c302f:	33 c0                	xor    %eax,%eax
5c3031:	33 d2                	xor    %edx,%edx
5c3033:	8b f0                	mov    %eax,%esi
5c3035:	8d 04 d5 00 00 00 00 	lea    0x0(,%edx,8),%eax
5c303c:	2b c2                	sub    %edx,%eax
5c303e:	8b 8c c3 38 04 00 00 	mov    0x438(%ebx,%eax,8),%ecx
5c3045:	8b 84 c3 18 04 00 00 	mov    0x418(%ebx,%eax,8),%eax
5c304c:	0f af c1             	imul   %ecx,%eax
5c304f:	8b f8                	mov    %eax,%edi
5c3051:	85 d2                	test   %edx,%edx
5c3053:	75 03                	jne    0x5c3058
5c3055:	42                   	inc    %edx
5c3056:	eb db                	jmp    0x5c3033
5c3058:	3b fe                	cmp    %esi,%edi
5c305a:	0f 43 c6             	cmovae %esi,%eax
5c305d:	42                   	inc    %edx
5c305e:	83 fa 26             	cmp    $0x26,%edx
5c3061:	7c d0                	jl     0x5c3033
5c3063:	5f                   	pop    %edi
5c3064:	5e                   	pop    %esi
5c3065:	5b                   	pop    %ebx
5c3066:	c3                   	ret
5c3067:	5f                   	pop    %edi
5c3068:	5e                   	pop    %esi
5c3069:	33 c0                	xor    %eax,%eax
5c306b:	5b                   	pop    %ebx
5c306c:	c3                   	ret
5c306d:	cc                   	int3
5c306e:	cc                   	int3
5c306f:	cc                   	int3
5c3070:	8b 81 24 59 00 00    	mov    0x5924(%ecx),%eax
5c3076:	8b 00                	mov    (%eax),%eax
5c3078:	c3                   	ret
5c3079:	cc                   	int3
5c307a:	cc                   	int3
5c307b:	cc                   	int3
5c307c:	cc                   	int3
5c307d:	cc                   	int3
5c307e:	cc                   	int3
5c307f:	cc                   	int3
5c3080:	8b 81 18 59 00 00    	mov    0x5918(%ecx),%eax
5c3086:	53                   	push   %ebx
5c3087:	56                   	push   %esi
5c3088:	57                   	push   %edi
5c3089:	83 f8 02             	cmp    $0x2,%eax
5c308c:	75 3b                	jne    0x5c30c9
5c308e:	33 ff                	xor    %edi,%edi
5c3090:	8d b1 70 4c 00 00    	lea    0x4c70(%ecx),%esi
5c3096:	8d 58 38             	lea    0x38(%eax),%ebx
5c3099:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
5c30a0:	33 d2                	xor    %edx,%edx
5c30a2:	8d 76 38             	lea    0x38(%esi),%esi
5c30a5:	b8 00 00 01 00       	mov    $0x10000,%eax
5c30aa:	f7 76 c8             	divl   -0x38(%esi)
5c30ad:	8b c8                	mov    %eax,%ecx
5c30af:	8b 46 e8             	mov    -0x18(%esi),%eax
5c30b2:	0f af 4e cc          	imul   -0x34(%esi),%ecx
5c30b6:	2b c8                	sub    %eax,%ecx
5c30b8:	0f af 4e c8          	imul   -0x38(%esi),%ecx
5c30bc:	03 f9                	add    %ecx,%edi
5c30be:	83 eb 01             	sub    $0x1,%ebx
5c30c1:	75 dd                	jne    0x5c30a0
5c30c3:	8b c7                	mov    %edi,%eax
5c30c5:	5f                   	pop    %edi
5c30c6:	5e                   	pop    %esi
5c30c7:	5b                   	pop    %ebx
5c30c8:	c3                   	ret
5c30c9:	83 f8 01             	cmp    $0x1,%eax
5c30cc:	75 3b                	jne    0x5c3109
5c30ce:	33 ff                	xor    %edi,%edi
5c30d0:	8d b1 18 04 00 00    	lea    0x418(%ecx),%esi
5c30d6:	8d 58 25             	lea    0x25(%eax),%ebx
5c30d9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
5c30e0:	33 d2                	xor    %edx,%edx
5c30e2:	8d 76 38             	lea    0x38(%esi),%esi
5c30e5:	b8 00 00 01 00       	mov    $0x10000,%eax
5c30ea:	f7 76 c8             	divl   -0x38(%esi)
5c30ed:	8b c8                	mov    %eax,%ecx
5c30ef:	8b 46 e8             	mov    -0x18(%esi),%eax
5c30f2:	0f af 4e cc          	imul   -0x34(%esi),%ecx
5c30f6:	2b c8                	sub    %eax,%ecx
5c30f8:	0f af 4e c8          	imul   -0x38(%esi),%ecx
5c30fc:	03 f9                	add    %ecx,%edi
5c30fe:	83 eb 01             	sub    $0x1,%ebx
5c3101:	75 dd                	jne    0x5c30e0
5c3103:	8b c7                	mov    %edi,%eax
5c3105:	5f                   	pop    %edi
5c3106:	5e                   	pop    %esi
5c3107:	5b                   	pop    %ebx
5c3108:	c3                   	ret
5c3109:	5f                   	pop    %edi
5c310a:	5e                   	pop    %esi
5c310b:	33 c0                	xor    %eax,%eax
5c310d:	5b                   	pop    %ebx
5c310e:	c3                   	ret
5c310f:	cc                   	int3
5c3110:	8b 81 18 59 00 00    	mov    0x5918(%ecx),%eax
5c3116:	56                   	push   %esi
5c3117:	57                   	push   %edi
5c3118:	83 f8 02             	cmp    $0x2,%eax
5c311b:	75 31                	jne    0x5c314e
5c311d:	33 d2                	xor    %edx,%edx
5c311f:	8d 78 1b             	lea    0x1b(%eax),%edi
5c3122:	33 f6                	xor    %esi,%esi
5c3124:	81 c1 ac 4c 00 00    	add    $0x4cac,%ecx
5c312a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5c3130:	8b 41 c8             	mov    -0x38(%ecx),%eax
5c3133:	8d 49 70             	lea    0x70(%ecx),%ecx
5c3136:	c1 e0 10             	shl    $0x10,%eax
5c3139:	03 d0                	add    %eax,%edx
5c313b:	8b 41 90             	mov    -0x70(%ecx),%eax
5c313e:	c1 e0 10             	shl    $0x10,%eax
5c3141:	03 f0                	add    %eax,%esi
5c3143:	83 ef 01             	sub    $0x1,%edi
5c3146:	75 e8                	jne    0x5c3130
5c3148:	5f                   	pop    %edi
5c3149:	8d 04 16             	lea    (%esi,%edx,1),%eax
5c314c:	5e                   	pop    %esi
5c314d:	c3                   	ret
5c314e:	83 f8 01             	cmp    $0x1,%eax
5c3151:	75 2b                	jne    0x5c317e
5c3153:	33 d2                	xor    %edx,%edx
5c3155:	8d 78 12             	lea    0x12(%eax),%edi
5c3158:	33 f6                	xor    %esi,%esi
5c315a:	81 c1 54 04 00 00    	add    $0x454,%ecx
5c3160:	8b 41 c8             	mov    -0x38(%ecx),%eax
5c3163:	8d 49 70             	lea    0x70(%ecx),%ecx
5c3166:	c1 e0 10             	shl    $0x10,%eax
5c3169:	03 d0                	add    %eax,%edx
5c316b:	8b 41 90             	mov    -0x70(%ecx),%eax
5c316e:	c1 e0 10             	shl    $0x10,%eax
5c3171:	03 f0                	add    %eax,%esi
5c3173:	83 ef 01             	sub    $0x1,%edi
5c3176:	75 e8                	jne    0x5c3160
5c3178:	5f                   	pop    %edi
5c3179:	8d 04 16             	lea    (%esi,%edx,1),%eax
5c317c:	5e                   	pop    %esi
5c317d:	c3                   	ret
5c317e:	5f                   	pop    %edi
5c317f:	33 c0                	xor    %eax,%eax
5c3181:	5e                   	pop    %esi
5c3182:	c3                   	ret
5c3183:	cc                   	int3
5c3184:	cc                   	int3
5c3185:	cc                   	int3
5c3186:	cc                   	int3
5c3187:	cc                   	int3
5c3188:	cc                   	int3
5c3189:	cc                   	int3
5c318a:	cc                   	int3
5c318b:	cc                   	int3
5c318c:	cc                   	int3
5c318d:	cc                   	int3
5c318e:	cc                   	int3
5c318f:	cc                   	int3
5c3190:	8b 81 18 59 00 00    	mov    0x5918(%ecx),%eax
5c3196:	56                   	push   %esi
5c3197:	57                   	push   %edi
5c3198:	83 f8 02             	cmp    $0x2,%eax
5c319b:	75 2b                	jne    0x5c31c8
5c319d:	33 f6                	xor    %esi,%esi
5c319f:	8d 91 70 4c 00 00    	lea    0x4c70(%ecx),%edx
5c31a5:	8d 78 38             	lea    0x38(%eax),%edi
5c31a8:	eb 06                	jmp    0x5c31b0
5c31aa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5c31b0:	8b 42 20             	mov    0x20(%edx),%eax
5c31b3:	8d 52 38             	lea    0x38(%edx),%edx
5c31b6:	8b 4a c8             	mov    -0x38(%edx),%ecx
5c31b9:	0f af c8             	imul   %eax,%ecx
5c31bc:	03 f1                	add    %ecx,%esi
5c31be:	83 ef 01             	sub    $0x1,%edi
5c31c1:	75 ed                	jne    0x5c31b0
5c31c3:	5f                   	pop    %edi
5c31c4:	8b c6                	mov    %esi,%eax