6d2183:	5d                   	pop    %ebp
6d2184:	5b                   	pop    %ebx
6d2185:	c2 04 00             	ret    $0x4
6d2188:	cc                   	int3
6d2189:	cc                   	int3
6d218a:	cc                   	int3
6d218b:	cc                   	int3
6d218c:	cc                   	int3
6d218d:	cc                   	int3
6d218e:	cc                   	int3
6d218f:	cc                   	int3
6d2190:	cc                   	int3
6d2191:	cc                   	int3
6d2192:	cc                   	int3
6d2193:	cc                   	int3
6d2194:	cc                   	int3
6d2195:	cc                   	int3
6d2196:	cc                   	int3
6d2197:	cc                   	int3
6d2198:	cc                   	int3
6d2199:	cc                   	int3
6d219a:	cc                   	int3
6d219b:	cc                   	int3
6d219c:	cc                   	int3
6d219d:	cc                   	int3
6d219e:	cc                   	int3
6d219f:	cc                   	int3
6d21a0:	56                   	push   %esi
6d21a1:	8b f1                	mov    %ecx,%esi
6d21a3:	8b 4c 24 08          	mov    0x8(%esp),%ecx
6d21a7:	57                   	push   %edi
6d21a8:	8b 7e 08             	mov    0x8(%esi),%edi
6d21ab:	8b c7                	mov    %edi,%eax
6d21ad:	8b 56 04             	mov    0x4(%esi),%edx
6d21b0:	2b c2                	sub    %edx,%eax
6d21b2:	c1 f8 02             	sar    $0x2,%eax
6d21b5:	3b c1                	cmp    %ecx,%eax
6d21b7:	73 37                	jae    0x6d21f0
6d21b9:	2b 16                	sub    (%esi),%edx
6d21bb:	53                   	push   %ebx
6d21bc:	bb ff ff ff 3f       	mov    $0x3fffffff,%ebx
6d21c1:	c1 fa 02             	sar    $0x2,%edx
6d21c4:	8b c3                	mov    %ebx,%eax
6d21c6:	2b c2                	sub    %edx,%eax
6d21c8:	3b c1                	cmp    %ecx,%eax
6d21ca:	72 29                	jb     0x6d21f5
6d21cc:	2b 3e                	sub    (%esi),%edi
6d21ce:	03 d1                	add    %ecx,%edx
6d21d0:	c1 ff 02             	sar    $0x2,%edi
6d21d3:	33 c9                	xor    %ecx,%ecx
6d21d5:	8b c7                	mov    %edi,%eax
6d21d7:	d1 e8                	shr    $1,%eax
6d21d9:	2b d8                	sub    %eax,%ebx
6d21db:	03 c7                	add    %edi,%eax
6d21dd:	3b df                	cmp    %edi,%ebx
6d21df:	0f 43 c8             	cmovae %eax,%ecx
6d21e2:	3b ca                	cmp    %edx,%ecx
6d21e4:	0f 43 d1             	cmovae %ecx,%edx
6d21e7:	8b ce                	mov    %esi,%ecx
6d21e9:	52                   	push   %edx
6d21ea:	e8 84 74 d4 ff       	call   0x419673
6d21ef:	5b                   	pop    %ebx
6d21f0:	5f                   	pop    %edi
6d21f1:	5e                   	pop    %esi
6d21f2:	c2 04 00             	ret    $0x4
6d21f5:	68 58 20 bd 00       	push   $0xbd2058
6d21fa:	e8 17 76 d5 ff       	call   0x429816
6d21ff:	cc                   	int3
6d2200:	cc                   	int3
6d2201:	cc                   	int3
6d2202:	cc                   	int3
6d2203:	cc                   	int3
6d2204:	cc                   	int3
6d2205:	cc                   	int3
6d2206:	cc                   	int3
6d2207:	cc                   	int3
6d2208:	cc                   	int3
6d2209:	cc                   	int3
6d220a:	cc                   	int3
6d220b:	cc                   	int3
6d220c:	cc                   	int3
6d220d:	cc                   	int3
6d220e:	cc                   	int3
6d220f:	cc                   	int3
6d2210:	cc                   	int3
6d2211:	cc                   	int3
6d2212:	cc                   	int3
6d2213:	cc                   	int3
6d2214:	cc                   	int3
6d2215:	cc                   	int3
6d2216:	cc                   	int3
6d2217:	cc                   	int3
6d2218:	cc                   	int3
6d2219:	cc                   	int3
6d221a:	cc                   	int3
6d221b:	cc                   	int3
6d221c:	cc                   	int3
6d221d:	cc                   	int3
6d221e:	cc                   	int3
6d221f:	cc                   	int3
6d2220:	8b 41 08             	mov    0x8(%ecx),%eax
6d2223:	2b 41 04             	sub    0x4(%ecx),%eax
6d2226:	c1 f8 02             	sar    $0x2,%eax
6d2229:	c3                   	ret
6d222a:	cc                   	int3
6d222b:	cc                   	int3
6d222c:	cc                   	int3
6d222d:	cc                   	int3
6d222e:	cc                   	int3
6d222f:	cc                   	int3
6d2230:	68 58 20 bd 00       	push   $0xbd2058
6d2235:	e8 dc 75 d5 ff       	call   0x429816
6d223a:	cc                   	int3
6d223b:	cc                   	int3
6d223c:	cc                   	int3
6d223d:	cc                   	int3
6d223e:	cc                   	int3
6d223f:	cc                   	int3
6d2240:	e9 45 95 d3 ff       	jmp    0x40b78a
6d2245:	cc                   	int3
6d2246:	cc                   	int3
6d2247:	cc                   	int3
6d2248:	cc                   	int3
6d2249:	cc                   	int3
6d224a:	cc                   	int3
6d224b:	cc                   	int3
6d224c:	cc                   	int3
6d224d:	cc                   	int3
6d224e:	cc                   	int3
6d224f:	cc                   	int3
6d2250:	8b 44 24 04          	mov    0x4(%esp),%eax
6d2254:	85 c0                	test   %eax,%eax
6d2256:	75 03                	jne    0x6d225b
6d2258:	c2 04 00             	ret    $0x4
6d225b:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
6d2260:	77 3b                	ja     0x6d229d
6d2262:	c1 e0 02             	shl    $0x2,%eax
6d2265:	3d 00 10 00 00       	cmp    $0x1000,%eax
6d226a:	72 22                	jb     0x6d228e
6d226c:	8d 48 23             	lea    0x23(%eax),%ecx
6d226f:	3b c8                	cmp    %eax,%ecx
6d2271:	76 2f                	jbe    0x6d22a2
6d2273:	51                   	push   %ecx
6d2274:	e8 04 87 d5 ff       	call   0x42a97d
6d2279:	8b c8                	mov    %eax,%ecx
6d227b:	83 c4 04             	add    $0x4,%esp
6d227e:	85 c9                	test   %ecx,%ecx
6d2280:	74 25                	je     0x6d22a7
6d2282:	8d 41 23             	lea    0x23(%ecx),%eax
6d2285:	83 e0 e0             	and    $0xffffffe0,%eax
6d2288:	89 48 fc             	mov    %ecx,-0x4(%eax)
6d228b:	c2 04 00             	ret    $0x4
6d228e:	50                   	push   %eax
6d228f:	e8 e9 86 d5 ff       	call   0x42a97d
6d2294:	83 c4 04             	add    $0x4,%esp
6d2297:	85 c0                	test   %eax,%eax
6d2299:	75 bd                	jne    0x6d2258
6d229b:	eb 0f                	jmp    0x6d22ac
6d229d:	e8 7c fc d2 ff       	call   0x401f1e
6d22a2:	e8 77 fc d2 ff       	call   0x401f1e
6d22a7:	e8 e1 b6 d6 ff       	call   0x43d98d
6d22ac:	e8 dc b6 d6 ff       	call   0x43d98d
6d22b1:	cc                   	int3
6d22b2:	cc                   	int3
6d22b3:	cc                   	int3
6d22b4:	cc                   	int3
6d22b5:	cc                   	int3
6d22b6:	cc                   	int3
6d22b7:	cc                   	int3
6d22b8:	cc                   	int3
6d22b9:	cc                   	int3
6d22ba:	cc                   	int3
6d22bb:	cc                   	int3
6d22bc:	cc                   	int3
6d22bd:	cc                   	int3
6d22be:	cc                   	int3
6d22bf:	cc                   	int3
6d22c0:	cc                   	int3
6d22c1:	cc                   	int3
6d22c2:	cc                   	int3
6d22c3:	cc                   	int3
6d22c4:	cc                   	int3
6d22c5:	cc                   	int3
6d22c6:	cc                   	int3
6d22c7:	cc                   	int3
6d22c8:	cc                   	int3
6d22c9:	cc                   	int3
6d22ca:	cc                   	int3
6d22cb:	cc                   	int3
6d22cc:	cc                   	int3
6d22cd:	cc                   	int3
6d22ce:	cc                   	int3
6d22cf:	cc                   	int3
6d22d0:	56                   	push   %esi
6d22d1:	8b 74 24 0c          	mov    0xc(%esp),%esi
6d22d5:	57                   	push   %edi
6d22d6:	8b f9                	mov    %ecx,%edi
6d22d8:	8b 47 04             	mov    0x4(%edi),%eax
6d22db:	03 c6                	add    %esi,%eax
6d22dd:	50                   	push   %eax
6d22de:	e8 5d 45 d6 ff       	call   0x436840
6d22e3:	8b 47 04             	mov    0x4(%edi),%eax
6d22e6:	8b c8                	mov    %eax,%ecx
6d22e8:	2b ce                	sub    %esi,%ecx
6d22ea:	2b c1                	sub    %ecx,%eax
6d22ec:	3b f0                	cmp    %eax,%esi
6d22ee:	0f 47 f0             	cmova  %eax,%esi
6d22f1:	8b 07                	mov    (%edi),%eax
6d22f3:	56                   	push   %esi
6d22f4:	ff 74 24 10          	push   0x10(%esp)
6d22f8:	03 c1                	add    %ecx,%eax
6d22fa:	50                   	push   %eax
6d22fb:	e8 82 c8 d4 ff       	call   0x41eb82
6d2300:	83 c4 0c             	add    $0xc,%esp
6d2303:	5f                   	pop    %edi
6d2304:	5e                   	pop    %esi
6d2305:	c2 08 00             	ret    $0x8
6d2308:	cc                   	int3
6d2309:	cc                   	int3
6d230a:	cc                   	int3
6d230b:	cc                   	int3
6d230c:	cc                   	int3
6d230d:	cc                   	int3
6d230e:	cc                   	int3
6d230f:	cc                   	int3
6d2310:	cc                   	int3
6d2311:	cc                   	int3
6d2312:	cc                   	int3
6d2313:	cc                   	int3
6d2314:	cc                   	int3
6d2315:	cc                   	int3
6d2316:	cc                   	int3
6d2317:	cc                   	int3
6d2318:	cc                   	int3
6d2319:	cc                   	int3
6d231a:	cc                   	int3
6d231b:	cc                   	int3
6d231c:	cc                   	int3
6d231d:	cc                   	int3
6d231e:	cc                   	int3
6d231f:	cc                   	int3
6d2320:	56                   	push   %esi
6d2321:	57                   	push   %edi
6d2322:	8b 7c 24 0c          	mov    0xc(%esp),%edi
6d2326:	8b f1                	mov    %ecx,%esi
6d2328:	85 ff                	test   %edi,%edi
6d232a:	74 26                	je     0x6d2352
6d232c:	e8 8d c3 d4 ff       	call   0x41e6be
6d2331:	85 c0                	test   %eax,%eax
6d2333:	74 14                	je     0x6d2349
6d2335:	8b ce                	mov    %esi,%ecx
6d2337:	e8 82 c3 d4 ff       	call   0x41e6be
6d233c:	8b f0                	mov    %eax,%esi
6d233e:	8b ce                	mov    %esi,%ecx
6d2340:	e8 79 c3 d4 ff       	call   0x41e6be
6d2345:	85 c0                	test   %eax,%eax
6d2347:	75 ec                	jne    0x6d2335
6d2349:	8b 4e 20             	mov    0x20(%esi),%ecx
6d234c:	8b 46 14             	mov    0x14(%esi),%eax
6d234f:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
6d2352:	5f                   	pop    %edi
6d2353:	5e                   	pop    %esi
6d2354:	c2 04 00             	ret    $0x4
6d2357:	cc                   	int3
6d2358:	cc                   	int3
6d2359:	cc                   	int3
6d235a:	cc                   	int3
6d235b:	cc                   	int3
6d235c:	cc                   	int3
6d235d:	cc                   	int3
6d235e:	cc                   	int3
6d235f:	cc                   	int3
6d2360:	cc                   	int3
6d2361:	cc                   	int3
6d2362:	cc                   	int3
6d2363:	cc                   	int3
6d2364:	cc                   	int3
6d2365:	cc                   	int3
6d2366:	cc                   	int3
6d2367:	cc                   	int3
6d2368:	cc                   	int3
6d2369:	cc                   	int3
6d236a:	cc                   	int3
6d236b:	cc                   	int3
6d236c:	cc                   	int3
6d236d:	cc                   	int3
6d236e:	cc                   	int3
6d236f:	cc                   	int3
6d2370:	8b 41 08             	mov    0x8(%ecx),%eax
6d2373:	2b 01                	sub    (%ecx),%eax
6d2375:	c1 f8 02             	sar    $0x2,%eax
6d2378:	c3                   	ret
6d2379:	cc                   	int3
6d237a:	cc                   	int3
6d237b:	cc                   	int3
6d237c:	cc                   	int3
6d237d:	cc                   	int3
6d237e:	cc                   	int3
6d237f:	cc                   	int3
6d2380:	8b 01                	mov    (%ecx),%eax
6d2382:	89 41 04             	mov    %eax,0x4(%ecx)
6d2385:	c3                   	ret
6d2386:	cc                   	int3
6d2387:	cc                   	int3
6d2388:	cc                   	int3
6d2389:	cc                   	int3
6d238a:	cc                   	int3
6d238b:	cc                   	int3
6d238c:	cc                   	int3
6d238d:	cc                   	int3
6d238e:	cc                   	int3
6d238f:	cc                   	int3
6d2390:	8b 41 20             	mov    0x20(%ecx),%eax
6d2393:	c3                   	ret
6d2394:	cc                   	int3
6d2395:	cc                   	int3
6d2396:	cc                   	int3
6d2397:	cc                   	int3
6d2398:	cc                   	int3
6d2399:	cc                   	int3
6d239a:	cc                   	int3
6d239b:	cc                   	int3
6d239c:	cc                   	int3
6d239d:	cc                   	int3
6d239e:	cc                   	int3
6d239f:	cc                   	int3
6d23a0:	6a 00                	push   $0x0
6d23a2:	e8 f2 63 d6 ff       	call   0x438799
6d23a7:	c3                   	ret
6d23a8:	cc                   	int3
6d23a9:	cc                   	int3
6d23aa:	cc                   	int3
6d23ab:	cc                   	int3
6d23ac:	cc                   	int3
6d23ad:	cc                   	int3
6d23ae:	cc                   	int3
6d23af:	cc                   	int3
6d23b0:	56                   	push   %esi
6d23b1:	57                   	push   %edi
6d23b2:	8b f9                	mov    %ecx,%edi
6d23b4:	8b 07                	mov    (%edi),%eax
6d23b6:	ff 50 08             	call   *0x8(%eax)
6d23b9:	8b cf                	mov    %edi,%ecx
6d23bb:	33 f6                	xor    %esi,%esi
6d23bd:	e8 4c 5e d5 ff       	call   0x42820e
6d23c2:	85 c0                	test   %eax,%eax
6d23c4:	74 1b                	je     0x6d23e1
6d23c6:	8b 47 14             	mov    0x14(%edi),%eax
6d23c9:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
6d23cc:	85 c9                	test   %ecx,%ecx