5c1fc8:	83 c1 23             	add    $0x23,%ecx
5c1fcb:	2b c6                	sub    %esi,%eax
5c1fcd:	83 c0 fc             	add    $0xfffffffc,%eax
5c1fd0:	83 f8 1f             	cmp    $0x1f,%eax
5c1fd3:	77 1f                	ja     0x5c1ff4
5c1fd5:	51                   	push   %ecx
5c1fd6:	56                   	push   %esi
5c1fd7:	e8 96 f0 01 00       	call   0x5e1072
5c1fdc:	8a 45 0b             	mov    0xb(%ebp),%al
5c1fdf:	83 c4 08             	add    $0x8,%esp
5c1fe2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c1fe5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c1fec:	59                   	pop    %ecx
5c1fed:	5f                   	pop    %edi
5c1fee:	5e                   	pop    %esi
5c1fef:	5b                   	pop    %ebx
5c1ff0:	8b e5                	mov    %ebp,%esp
5c1ff2:	5d                   	pop    %ebp
5c1ff3:	c3                   	ret
5c1ff4:	e8 36 af 02 00       	call   0x5ecf2f
5c1ff9:	cc                   	int3
5c1ffa:	cc                   	int3
5c1ffb:	cc                   	int3
5c1ffc:	cc                   	int3
5c1ffd:	cc                   	int3
5c1ffe:	cc                   	int3
5c1fff:	cc                   	int3
5c2000:	55                   	push   %ebp
5c2001:	8b ec                	mov    %esp,%ebp
5c2003:	ff 75 08             	push   0x8(%ebp)
5c2006:	ff 35 84 6e 72 00    	push   0x726e84
5c200c:	68 70 e4 6c 00       	push   $0x6ce470
5c2011:	68 02 00 00 80       	push   $0x80000002
5c2016:	e8 35 31 00 00       	call   0x5c5150
5c201b:	83 c4 10             	add    $0x10,%esp
5c201e:	85 c0                	test   %eax,%eax
5c2020:	0f 94 c0             	sete   %al
5c2023:	5d                   	pop    %ebp
5c2024:	c3                   	ret
5c2025:	cc                   	int3
5c2026:	cc                   	int3
5c2027:	cc                   	int3
5c2028:	cc                   	int3
5c2029:	cc                   	int3
5c202a:	cc                   	int3
5c202b:	cc                   	int3
5c202c:	cc                   	int3
5c202d:	cc                   	int3
5c202e:	cc                   	int3
5c202f:	cc                   	int3
5c2030:	55                   	push   %ebp
5c2031:	8b ec                	mov    %esp,%ebp
5c2033:	ff 75 08             	push   0x8(%ebp)
5c2036:	ff 35 88 6e 72 00    	push   0x726e88
5c203c:	68 70 e4 6c 00       	push   $0x6ce470
5c2041:	68 02 00 00 80       	push   $0x80000002
5c2046:	e8 05 31 00 00       	call   0x5c5150
5c204b:	83 c4 10             	add    $0x10,%esp
5c204e:	85 c0                	test   %eax,%eax
5c2050:	0f 94 c0             	sete   %al
5c2053:	5d                   	pop    %ebp
5c2054:	c3                   	ret
5c2055:	cc                   	int3
5c2056:	cc                   	int3
5c2057:	cc                   	int3
5c2058:	cc                   	int3
5c2059:	cc                   	int3
5c205a:	cc                   	int3
5c205b:	cc                   	int3
5c205c:	cc                   	int3
5c205d:	cc                   	int3
5c205e:	cc                   	int3
5c205f:	cc                   	int3
5c2060:	55                   	push   %ebp
5c2061:	8b ec                	mov    %esp,%ebp
5c2063:	6a ff                	push   $0xffffffff
5c2065:	68 08 f5 65 00       	push   $0x65f508
5c206a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c2070:	50                   	push   %eax
5c2071:	83 ec 0c             	sub    $0xc,%esp
5c2074:	53                   	push   %ebx
5c2075:	56                   	push   %esi
5c2076:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5c207b:	33 c5                	xor    %ebp,%eax
5c207d:	50                   	push   %eax
5c207e:	8d 45 f4             	lea    -0xc(%ebp),%eax
5c2081:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5c2087:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5c208e:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
5c2095:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5c209c:	8d 45 e8             	lea    -0x18(%ebp),%eax
5c209f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c20a6:	50                   	push   %eax
5c20a7:	68 e4 e4 6c 00       	push   $0x6ce4e4
5c20ac:	68 70 e4 6c 00       	push   $0x6ce470
5c20b1:	68 02 00 00 80       	push   $0x80000002
5c20b6:	e8 75 13 00 00       	call   0x5c3430
5c20bb:	83 c4 10             	add    $0x10,%esp
5c20be:	85 c0                	test   %eax,%eax
5c20c0:	74 0e                	je     0x5c20d0
5c20c2:	83 f8 02             	cmp    $0x2,%eax
5c20c5:	74 09                	je     0x5c20d0
5c20c7:	83 f8 03             	cmp    $0x3,%eax
5c20ca:	74 04                	je     0x5c20d0
5c20cc:	32 db                	xor    %bl,%bl
5c20ce:	eb 41                	jmp    0x5c2111
5c20d0:	8b 45 ec             	mov    -0x14(%ebp),%eax
5c20d3:	ff 75 08             	push   0x8(%ebp)
5c20d6:	3b 45 f0             	cmp    -0x10(%ebp),%eax
5c20d9:	74 0d                	je     0x5c20e8
5c20db:	8b c8                	mov    %eax,%ecx
5c20dd:	e8 be ac e7 ff       	call   0x43cda0
5c20e2:	83 45 ec 18          	addl   $0x18,-0x14(%ebp)
5c20e6:	eb 09                	jmp    0x5c20f1
5c20e8:	50                   	push   %eax
5c20e9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5c20ec:	e8 ff 83 e8 ff       	call   0x44a4f0
5c20f1:	8d 45 e8             	lea    -0x18(%ebp),%eax
5c20f4:	50                   	push   %eax
5c20f5:	68 e4 e4 6c 00       	push   $0x6ce4e4
5c20fa:	68 70 e4 6c 00       	push   $0x6ce470
5c20ff:	68 02 00 00 80       	push   $0x80000002
5c2104:	e8 97 26 00 00       	call   0x5c47a0
5c2109:	83 c4 10             	add    $0x10,%esp
5c210c:	85 c0                	test   %eax,%eax
5c210e:	0f 94 c3             	sete   %bl
5c2111:	8b 45 e8             	mov    -0x18(%ebp),%eax
5c2114:	85 c0                	test   %eax,%eax
5c2116:	74 53                	je     0x5c216b
5c2118:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5c211b:	51                   	push   %ecx
5c211c:	ff 75 ec             	push   -0x14(%ebp)
5c211f:	50                   	push   %eax
5c2120:	e8 8b 21 e8 ff       	call   0x4442b0
5c2125:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5c2128:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5c212d:	8b 75 e8             	mov    -0x18(%ebp),%esi
5c2130:	83 c4 0c             	add    $0xc,%esp
5c2133:	2b ce                	sub    %esi,%ecx
5c2135:	f7 e9                	imul   %ecx
5c2137:	c1 fa 02             	sar    $0x2,%edx
5c213a:	8b c2                	mov    %edx,%eax
5c213c:	c1 e8 1f             	shr    $0x1f,%eax
5c213f:	03 c2                	add    %edx,%eax
5c2141:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5c2144:	8b c6                	mov    %esi,%eax
5c2146:	c1 e1 03             	shl    $0x3,%ecx
5c2149:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c214f:	72 10                	jb     0x5c2161
5c2151:	8b 76 fc             	mov    -0x4(%esi),%esi
5c2154:	83 c1 23             	add    $0x23,%ecx
5c2157:	2b c6                	sub    %esi,%eax
5c2159:	83 c0 fc             	add    $0xfffffffc,%eax
5c215c:	83 f8 1f             	cmp    $0x1f,%eax
5c215f:	77 1d                	ja     0x5c217e
5c2161:	51                   	push   %ecx
5c2162:	56                   	push   %esi
5c2163:	e8 0a ef 01 00       	call   0x5e1072
5c2168:	83 c4 08             	add    $0x8,%esp
5c216b:	8a c3                	mov    %bl,%al
5c216d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c2170:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c2177:	59                   	pop    %ecx
5c2178:	5e                   	pop    %esi
5c2179:	5b                   	pop    %ebx
5c217a:	8b e5                	mov    %ebp,%esp
5c217c:	5d                   	pop    %ebp
5c217d:	c3                   	ret
5c217e:	e8 ac ad 02 00       	call   0x5ecf2f
5c2183:	cc                   	int3
5c2184:	cc                   	int3
5c2185:	cc                   	int3
5c2186:	cc                   	int3
5c2187:	cc                   	int3
5c2188:	cc                   	int3
5c2189:	cc                   	int3
5c218a:	cc                   	int3
5c218b:	cc                   	int3
5c218c:	cc                   	int3
5c218d:	cc                   	int3
5c218e:	cc                   	int3
5c218f:	cc                   	int3
5c2190:	55                   	push   %ebp
5c2191:	8b ec                	mov    %esp,%ebp
5c2193:	83 ec 0c             	sub    $0xc,%esp
5c2196:	53                   	push   %ebx
5c2197:	8b 5d 08             	mov    0x8(%ebp),%ebx
5c219a:	56                   	push   %esi
5c219b:	8b f1                	mov    %ecx,%esi
5c219d:	57                   	push   %edi
5c219e:	8b 3e                	mov    (%esi),%edi
5c21a0:	2b df                	sub    %edi,%ebx
5c21a2:	8b 46 04             	mov    0x4(%esi),%eax
5c21a5:	2b c7                	sub    %edi,%eax
5c21a7:	d1 fb                	sar    $1,%ebx
5c21a9:	d1 f8                	sar    $1,%eax
5c21ab:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
5c21b0:	0f 84 9e 00 00 00    	je     0x5c2254
5c21b6:	8b 4e 08             	mov    0x8(%esi),%ecx
5c21b9:	8d 50 01             	lea    0x1(%eax),%edx
5c21bc:	2b cf                	sub    %edi,%ecx
5c21be:	89 55 f8             	mov    %edx,-0x8(%ebp)
5c21c1:	d1 f9                	sar    $1,%ecx
5c21c3:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5c21c8:	8b f9                	mov    %ecx,%edi
5c21ca:	d1 ef                	shr    $1,%edi
5c21cc:	2b c7                	sub    %edi,%eax
5c21ce:	3b c8                	cmp    %eax,%ecx
5c21d0:	76 04                	jbe    0x5c21d6
5c21d2:	8b fa                	mov    %edx,%edi
5c21d4:	eb 07                	jmp    0x5c21dd
5c21d6:	03 f9                	add    %ecx,%edi
5c21d8:	3b fa                	cmp    %edx,%edi
5c21da:	0f 42 fa             	cmovb  %edx,%edi
5c21dd:	57                   	push   %edi
5c21de:	8b ce                	mov    %esi,%ecx
5c21e0:	e8 0b 72 e7 ff       	call   0x4393f0
5c21e5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5c21e8:	8b d0                	mov    %eax,%edx
5c21ea:	8d 04 5a             	lea    (%edx,%ebx,2),%eax
5c21ed:	89 55 f4             	mov    %edx,-0xc(%ebp)
5c21f0:	8b 5d 08             	mov    0x8(%ebp),%ebx
5c21f3:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c21f6:	66 8b 09             	mov    (%ecx),%cx
5c21f9:	66 89 08             	mov    %cx,(%eax)
5c21fc:	8b 4e 04             	mov    0x4(%esi),%ecx
5c21ff:	8b 06                	mov    (%esi),%eax
5c2201:	3b d9                	cmp    %ecx,%ebx
5c2203:	75 12                	jne    0x5c2217
5c2205:	2b c8                	sub    %eax,%ecx
5c2207:	51                   	push   %ecx
5c2208:	50                   	push   %eax
5c2209:	52                   	push   %edx
5c220a:	e8 71 12 02 00       	call   0x5e3480
5c220f:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5c2212:	83 c4 0c             	add    $0xc,%esp
5c2215:	eb 24                	jmp    0x5c223b
5c2217:	8b 0e                	mov    (%esi),%ecx
5c2219:	8b c3                	mov    %ebx,%eax
5c221b:	2b c1                	sub    %ecx,%eax
5c221d:	50                   	push   %eax
5c221e:	51                   	push   %ecx
5c221f:	52                   	push   %edx
5c2220:	e8 5b 12 02 00       	call   0x5e3480
5c2225:	8b 46 04             	mov    0x4(%esi),%eax
5c2228:	2b c3                	sub    %ebx,%eax
5c222a:	50                   	push   %eax
5c222b:	53                   	push   %ebx
5c222c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5c222f:	8d 43 02             	lea    0x2(%ebx),%eax
5c2232:	50                   	push   %eax
5c2233:	e8 48 12 02 00       	call   0x5e3480
5c2238:	83 c4 18             	add    $0x18,%esp
5c223b:	57                   	push   %edi
5c223c:	ff 75 f8             	push   -0x8(%ebp)
5c223f:	8b ce                	mov    %esi,%ecx
5c2241:	ff 75 f4             	push   -0xc(%ebp)
5c2244:	e8 b7 30 00 00       	call   0x5c5300
5c2249:	5f                   	pop    %edi
5c224a:	5e                   	pop    %esi
5c224b:	8b c3                	mov    %ebx,%eax
5c224d:	5b                   	pop    %ebx
5c224e:	8b e5                	mov    %ebp,%esp
5c2250:	5d                   	pop    %ebp
5c2251:	c2 08 00             	ret    $0x8
5c2254:	e8 e7 2d e8 ff       	call   0x445040
5c2259:	cc                   	int3
5c225a:	cc                   	int3
5c225b:	cc                   	int3
5c225c:	cc                   	int3
5c225d:	cc                   	int3
5c225e:	cc                   	int3
5c225f:	cc                   	int3
5c2260:	55                   	push   %ebp
5c2261:	8b ec                	mov    %esp,%ebp
5c2263:	83 ec 20             	sub    $0x20,%esp
5c2266:	8b 45 10             	mov    0x10(%ebp),%eax
5c2269:	2b 45 0c             	sub    0xc(%ebp),%eax
5c226c:	53                   	push   %ebx
5c226d:	8b 5d 08             	mov    0x8(%ebp),%ebx
5c2270:	56                   	push   %esi
5c2271:	8b f0                	mov    %eax,%esi
5c2273:	89 45 10             	mov    %eax,0x10(%ebp)
5c2276:	d1 fe                	sar    $1,%esi
5c2278:	8b 01                	mov    (%ecx),%eax
5c227a:	57                   	push   %edi
5c227b:	8b 79 04             	mov    0x4(%ecx),%edi
5c227e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5c2281:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c2284:	0f 84 5b 01 00 00    	je     0x5c23e5
5c228a:	8b 51 08             	mov    0x8(%ecx),%edx
5c228d:	8b c2                	mov    %edx,%eax
5c228f:	2b c7                	sub    %edi,%eax
5c2291:	d1 f8                	sar    $1,%eax
5c2293:	3b f0                	cmp    %eax,%esi
5c2295:	0f 86 d2 00 00 00    	jbe    0x5c236d
5c229b:	8b c7                	mov    %edi,%eax
5c229d:	2b 45 fc             	sub    -0x4(%ebp),%eax
5c22a0:	89 45 e8             	mov    %eax,-0x18(%ebp)
5c22a3:	d1 f8                	sar    $1,%eax
5c22a5:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c22a8:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5c22ad:	89 45 f8             	mov    %eax,-0x8(%ebp)
5c22b0:	2b 45 f0             	sub    -0x10(%ebp),%eax
5c22b3:	3b f0                	cmp    %eax,%esi
5c22b5:	0f 87 33 01 00 00    	ja     0x5c23ee
5c22bb:	2b 55 fc             	sub    -0x4(%ebp),%edx
5c22be:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c22c1:	d1 fa                	sar    $1,%edx
5c22c3:	03 c6                	add    %esi,%eax
5c22c5:	8b ca                	mov    %edx,%ecx
5c22c7:	89 45 ec             	mov    %eax,-0x14(%ebp)
5c22ca:	d1 e9                	shr    $1,%ecx
5c22cc:	29 4d f8             	sub    %ecx,-0x8(%ebp)
5c22cf:	3b 55 f8             	cmp    -0x8(%ebp),%edx
5c22d2:	77 0b                	ja     0x5c22df
5c22d4:	8b c1                	mov    %ecx,%eax
5c22d6:	03 c2                	add    %edx,%eax
5c22d8:	3b 45 ec             	cmp    -0x14(%ebp),%eax
5c22db:	0f 42 45 ec          	cmovb  -0x14(%ebp),%eax
5c22df:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c22e2:	50                   	push   %eax
5c22e3:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c22e6:	e8 05 71 e7 ff       	call   0x4393f0
5c22eb:	ff 75 10             	push   0x10(%ebp)
5c22ee:	8b cb                	mov    %ebx,%ecx
5c22f0:	89 45 f8             	mov    %eax,-0x8(%ebp)
5c22f3:	2b 4d fc             	sub    -0x4(%ebp),%ecx
5c22f6:	8b d1                	mov    %ecx,%edx
5c22f8:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5c22fb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5c22fe:	d1 fa                	sar    $1,%edx
5c2300:	51                   	push   %ecx
5c2301:	89 55 e0             	mov    %edx,-0x20(%ebp)
5c2304:	8d 0c 50             	lea    (%eax,%edx,2),%ecx
5c2307:	51                   	push   %ecx
5c2308:	e8 73 11 02 00       	call   0x5e3480
5c230d:	83 c4 0c             	add    $0xc,%esp
5c2310:	83 fe 01             	cmp    $0x1,%esi
5c2313:	75 18                	jne    0x5c232d
5c2315:	3b df                	cmp    %edi,%ebx
5c2317:	75 14                	jne    0x5c232d
5c2319:	ff 75 e8             	push   -0x18(%ebp)
5c231c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5c231f:	ff 75 fc             	push   -0x4(%ebp)
5c2322:	51                   	push   %ecx
5c2323:	e8 58 11 02 00       	call   0x5e3480
5c2328:	83 c4 0c             	add    $0xc,%esp
5c232b:	eb 26                	jmp    0x5c2353
5c232d:	ff 75 e4             	push   -0x1c(%ebp)