5a2195:	83 c4 0c             	add    $0xc,%esp
5a2198:	85 c0                	test   %eax,%eax
5a219a:	74 72                	je     0x5a220e
5a219c:	6a 05                	push   $0x5
5a219e:	68 80 7c 66 00       	push   $0x667c80
5a21a3:	57                   	push   %edi
5a21a4:	e8 e7 35 04 00       	call   0x5e5790
5a21a9:	83 c4 0c             	add    $0xc,%esp
5a21ac:	85 c0                	test   %eax,%eax
5a21ae:	74 5e                	je     0x5a220e
5a21b0:	6a 05                	push   $0x5
5a21b2:	68 88 7c 66 00       	push   $0x667c88
5a21b7:	57                   	push   %edi
5a21b8:	e8 d3 35 04 00       	call   0x5e5790
5a21bd:	83 c4 0c             	add    $0xc,%esp
5a21c0:	85 c0                	test   %eax,%eax
5a21c2:	74 4a                	je     0x5a220e
5a21c4:	6a 04                	push   $0x4
5a21c6:	68 90 7c 66 00       	push   $0x667c90
5a21cb:	57                   	push   %edi
5a21cc:	e8 bf 35 04 00       	call   0x5e5790
5a21d1:	83 c4 0c             	add    $0xc,%esp
5a21d4:	85 c0                	test   %eax,%eax
5a21d6:	74 36                	je     0x5a220e
5a21d8:	6a 05                	push   $0x5
5a21da:	68 98 7c 66 00       	push   $0x667c98
5a21df:	57                   	push   %edi
5a21e0:	e8 ab 35 04 00       	call   0x5e5790
5a21e5:	83 c4 0c             	add    $0xc,%esp
5a21e8:	85 c0                	test   %eax,%eax
5a21ea:	75 18                	jne    0x5a2204
5a21ec:	68 46 01 00 00       	push   $0x146
5a21f1:	68 5c 7c 66 00       	push   $0x667c5c
5a21f6:	68 9b 00 00 00       	push   $0x9b
5a21fb:	68 8f 00 00 00       	push   $0x8f
5a2200:	6a ff                	push   $0xffffffff
5a2202:	eb 69                	jmp    0x5a226d
5a2204:	68 4c 01 00 00       	push   $0x14c
5a2209:	e9 77 f8 ff ff       	jmp    0x5a1a85
5a220e:	68 42 01 00 00       	push   $0x142
5a2213:	68 5c 7c 66 00       	push   $0x667c5c
5a2218:	68 9c 00 00 00       	push   $0x9c
5a221d:	68 8f 00 00 00       	push   $0x8f
5a2222:	6a ff                	push   $0xffffffff
5a2224:	eb 47                	jmp    0x5a226d
5a2226:	68 51 01 00 00       	push   $0x151
5a222b:	e9 72 f8 ff ff       	jmp    0x5a1aa2
5a2230:	68 0f 01 00 00       	push   $0x10f
5a2235:	68 5c 7c 66 00       	push   $0x667c5c
5a223a:	6a 44                	push   $0x44
5a223c:	68 8f 00 00 00       	push   $0x8f
5a2241:	6a 32                	push   $0x32
5a2243:	eb 28                	jmp    0x5a226d
5a2245:	68 e1 00 00 00       	push   $0xe1
5a224a:	68 5c 7c 66 00       	push   $0x667c5c
5a224f:	6a 44                	push   $0x44
5a2251:	68 8f 00 00 00       	push   $0x8f
5a2256:	6a 32                	push   $0x32
5a2258:	eb 13                	jmp    0x5a226d
5a225a:	68 da 00 00 00       	push   $0xda
5a225f:	68 5c 7c 66 00       	push   $0x667c5c
5a2264:	6a 44                	push   $0x44
5a2266:	68 8f 00 00 00       	push   $0x8f
5a226b:	6a 50                	push   $0x50
5a226d:	56                   	push   %esi
5a226e:	e8 9d ce fe ff       	call   0x58f110
5a2273:	83 c4 18             	add    $0x18,%esp
5a2276:	83 c8 ff             	or     $0xffffffff,%eax
5a2279:	8b 8c 24 b0 00 00 00 	mov    0xb0(%esp),%ecx
5a2280:	5f                   	pop    %edi
5a2281:	5e                   	pop    %esi
5a2282:	5d                   	pop    %ebp
5a2283:	5b                   	pop    %ebx
5a2284:	33 cc                	xor    %esp,%ecx
5a2286:	e8 9b f7 02 00       	call   0x5d1a26
5a228b:	81 c4 a4 00 00 00    	add    $0xa4,%esp
5a2291:	c3                   	ret
5a2292:	cc                   	int3
5a2293:	cc                   	int3
5a2294:	cc                   	int3
5a2295:	cc                   	int3
5a2296:	cc                   	int3
5a2297:	cc                   	int3
5a2298:	cc                   	int3
5a2299:	cc                   	int3
5a229a:	cc                   	int3
5a229b:	cc                   	int3
5a229c:	cc                   	int3
5a229d:	cc                   	int3
5a229e:	cc                   	int3
5a229f:	cc                   	int3
5a22a0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5a22a4:	8b 81 64 06 00 00    	mov    0x664(%ecx),%eax
5a22aa:	85 c0                	test   %eax,%eax
5a22ac:	74 30                	je     0x5a22de
5a22ae:	8b 91 74 06 00 00    	mov    0x674(%ecx),%edx
5a22b4:	83 fa 05             	cmp    $0x5,%edx
5a22b7:	72 25                	jb     0x5a22de
5a22b9:	03 81 70 06 00 00    	add    0x670(%ecx),%eax
5a22bf:	80 38 17             	cmpb   $0x17,(%eax)
5a22c2:	75 1a                	jne    0x5a22de
5a22c4:	0f b6 48 03          	movzbl 0x3(%eax),%ecx
5a22c8:	0f b6 40 04          	movzbl 0x4(%eax),%eax
5a22cc:	c1 e1 08             	shl    $0x8,%ecx
5a22cf:	0b c8                	or     %eax,%ecx
5a22d1:	83 c1 05             	add    $0x5,%ecx
5a22d4:	3b d1                	cmp    %ecx,%edx
5a22d6:	72 06                	jb     0x5a22de
5a22d8:	b8 01 00 00 00       	mov    $0x1,%eax
5a22dd:	c3                   	ret
5a22de:	33 c0                	xor    %eax,%eax
5a22e0:	c3                   	ret
5a22e1:	cc                   	int3
5a22e2:	cc                   	int3
5a22e3:	cc                   	int3
5a22e4:	cc                   	int3
5a22e5:	cc                   	int3
5a22e6:	cc                   	int3
5a22e7:	cc                   	int3
5a22e8:	cc                   	int3
5a22e9:	cc                   	int3
5a22ea:	cc                   	int3
5a22eb:	cc                   	int3
5a22ec:	cc                   	int3
5a22ed:	cc                   	int3
5a22ee:	cc                   	int3
5a22ef:	cc                   	int3
5a22f0:	b8 0c 00 00 00       	mov    $0xc,%eax
5a22f5:	e8 b6 f4 02 00       	call   0x5d17b0
5a22fa:	55                   	push   %ebp
5a22fb:	8b 6c 24 20          	mov    0x20(%esp),%ebp
5a22ff:	56                   	push   %esi
5a2300:	8b 74 24 18          	mov    0x18(%esp),%esi
5a2304:	45                   	inc    %ebp
5a2305:	57                   	push   %edi
5a2306:	8b 7c 24 20          	mov    0x20(%esp),%edi
5a230a:	8b 46 04             	mov    0x4(%esi),%eax
5a230d:	8b 4f 08             	mov    0x8(%edi),%ecx
5a2310:	8b 40 64             	mov    0x64(%eax),%eax
5a2313:	f6 40 30 01          	testb  $0x1,0x30(%eax)
5a2317:	74 61                	je     0x5a237a
5a2319:	8b 54 24 24          	mov    0x24(%esp),%edx
5a231d:	8d 04 2a             	lea    (%edx,%ebp,1),%eax
5a2320:	3b c1                	cmp    %ecx,%eax
5a2322:	77 5a                	ja     0x5a237e
5a2324:	01 57 14             	add    %edx,0x14(%edi)
5a2327:	2b ca                	sub    %edx,%ecx
5a2329:	01 57 18             	add    %edx,0x18(%edi)
5a232c:	29 57 0c             	sub    %edx,0xc(%edi)
5a232f:	89 4f 08             	mov    %ecx,0x8(%edi)
5a2332:	8b 47 14             	mov    0x14(%edi),%eax
5a2335:	53                   	push   %ebx
5a2336:	ff b6 cc 03 00 00    	push   0x3cc(%esi)
5a233c:	8a 44 01 ff          	mov    -0x1(%ecx,%eax,1),%al
5a2340:	0f b6 d8             	movzbl %al,%ebx
5a2343:	88 44 24 30          	mov    %al,0x30(%esp)
5a2347:	89 5c 24 24          	mov    %ebx,0x24(%esp)
5a234b:	e8 70 dd f4 ff       	call   0x4f00c0
5a2350:	50                   	push   %eax
5a2351:	e8 5a df f4 ff       	call   0x4f02b0
5a2356:	8b 77 08             	mov    0x8(%edi),%esi
5a2359:	83 c4 08             	add    $0x8,%esp
5a235c:	89 74 24 18          	mov    %esi,0x18(%esp)
5a2360:	25 00 00 20 00       	and    $0x200000,%eax
5a2365:	74 20                	je     0x5a2387
5a2367:	2b f3                	sub    %ebx,%esi
5a2369:	b8 01 00 00 00       	mov    $0x1,%eax
5a236e:	4e                   	dec    %esi
5a236f:	5b                   	pop    %ebx
5a2370:	89 77 08             	mov    %esi,0x8(%edi)
5a2373:	5f                   	pop    %edi
5a2374:	5e                   	pop    %esi
5a2375:	5d                   	pop    %ebp
5a2376:	83 c4 0c             	add    $0xc,%esp
5a2379:	c3                   	ret
5a237a:	3b e9                	cmp    %ecx,%ebp
5a237c:	76 b4                	jbe    0x5a2332
5a237e:	5f                   	pop    %edi
5a237f:	5e                   	pop    %esi
5a2380:	33 c0                	xor    %eax,%eax
5a2382:	5d                   	pop    %ebp
5a2383:	83 c4 0c             	add    $0xc,%esp
5a2386:	c3                   	ret
5a2387:	8d 0c 2b             	lea    (%ebx,%ebp,1),%ecx
5a238a:	8b c6                	mov    %esi,%eax
5a238c:	8b de                	mov    %esi,%ebx
5a238e:	33 c1                	xor    %ecx,%eax
5a2390:	2b d9                	sub    %ecx,%ebx
5a2392:	33 d9                	xor    %ecx,%ebx
5a2394:	0b d8                	or     %eax,%ebx
5a2396:	b8 00 01 00 00       	mov    $0x100,%eax
5a239b:	33 de                	xor    %esi,%ebx
5a239d:	c1 eb 1f             	shr    $0x1f,%ebx
5a23a0:	4b                   	dec    %ebx
5a23a1:	3b f0                	cmp    %eax,%esi
5a23a3:	0f 42 c6             	cmovb  %esi,%eax
5a23a6:	33 ed                	xor    %ebp,%ebp
5a23a8:	89 44 24 10          	mov    %eax,0x10(%esp)
5a23ac:	85 c0                	test   %eax,%eax
5a23ae:	74 55                	je     0x5a2405
5a23b0:	8b 54 24 20          	mov    0x20(%esp),%edx
5a23b4:	4e                   	dec    %esi
5a23b5:	8b 7f 14             	mov    0x14(%edi),%edi
5a23b8:	c1 ea 1f             	shr    $0x1f,%edx
5a23bb:	03 fe                	add    %esi,%edi
5a23bd:	8b 74 24 20          	mov    0x20(%esp),%esi
5a23c1:	89 54 24 14          	mov    %edx,0x14(%esp)
5a23c5:	8b ce                	mov    %esi,%ecx
5a23c7:	8d 7f ff             	lea    -0x1(%edi),%edi
5a23ca:	2b cd                	sub    %ebp,%ecx
5a23cc:	8b c5                	mov    %ebp,%eax
5a23ce:	c1 e9 1f             	shr    $0x1f,%ecx
5a23d1:	45                   	inc    %ebp
5a23d2:	c1 e8 1f             	shr    $0x1f,%eax
5a23d5:	32 c8                	xor    %al,%cl
5a23d7:	32 c2                	xor    %dl,%al
5a23d9:	0a c8                	or     %al,%cl
5a23db:	0f b6 44 24 2c       	movzbl 0x2c(%esp),%eax
5a23e0:	32 ca                	xor    %dl,%cl
5a23e2:	fe c9                	dec    %cl
5a23e4:	0f b6 d1             	movzbl %cl,%edx
5a23e7:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
5a23eb:	33 c8                	xor    %eax,%ecx
5a23ed:	23 d1                	and    %ecx,%edx
5a23ef:	f7 d2                	not    %edx
5a23f1:	23 da                	and    %edx,%ebx
5a23f3:	8b 54 24 14          	mov    0x14(%esp),%edx
5a23f7:	3b 6c 24 10          	cmp    0x10(%esp),%ebp
5a23fb:	72 c8                	jb     0x5a23c5
5a23fd:	8b 74 24 18          	mov    0x18(%esp),%esi
5a2401:	8b 7c 24 24          	mov    0x24(%esp),%edi
5a2405:	8b 44 24 20          	mov    0x20(%esp),%eax
5a2409:	f7 d3                	not    %ebx
5a240b:	0f b6 cb             	movzbl %bl,%ecx
5a240e:	40                   	inc    %eax
5a240f:	49                   	dec    %ecx
5a2410:	c1 e9 1f             	shr    $0x1f,%ecx
5a2413:	f7 d9                	neg    %ecx
5a2415:	23 c1                	and    %ecx,%eax
5a2417:	2b f0                	sub    %eax,%esi
5a2419:	89 77 08             	mov    %esi,0x8(%edi)
5a241c:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
5a2420:	f7 d1                	not    %ecx
5a2422:	5b                   	pop    %ebx
5a2423:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5a2427:	8b 4c 24 28          	mov    0x28(%esp),%ecx
5a242b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5a242f:	83 e1 01             	and    $0x1,%ecx
5a2432:	5f                   	pop    %edi
5a2433:	5e                   	pop    %esi
5a2434:	0b c1                	or     %ecx,%eax
5a2436:	5d                   	pop    %ebp
5a2437:	83 c4 0c             	add    $0xc,%esp
5a243a:	c3                   	ret
5a243b:	cc                   	int3
5a243c:	cc                   	int3
5a243d:	cc                   	int3
5a243e:	cc                   	int3
5a243f:	cc                   	int3
5a2440:	b8 d4 02 00 00       	mov    $0x2d4,%eax
5a2445:	e8 66 f3 02 00       	call   0x5d17b0
5a244a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5a244f:	33 c4                	xor    %esp,%eax
5a2451:	89 84 24 d0 02 00 00 	mov    %eax,0x2d0(%esp)
5a2458:	8b 84 24 dc 02 00 00 	mov    0x2dc(%esp),%eax
5a245f:	53                   	push   %ebx
5a2460:	55                   	push   %ebp
5a2461:	8b ac 24 e0 02 00 00 	mov    0x2e0(%esp),%ebp
5a2468:	33 db                	xor    %ebx,%ebx
5a246a:	57                   	push   %edi
5a246b:	8b bc 24 ec 02 00 00 	mov    0x2ec(%esp),%edi
5a2472:	89 44 24 20          	mov    %eax,0x20(%esp)
5a2476:	89 5c 24 28          	mov    %ebx,0x28(%esp)
5a247a:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
5a247e:	85 ff                	test   %edi,%edi
5a2480:	75 36                	jne    0x5a24b8
5a2482:	68 b6 03 00 00       	push   $0x3b6
5a2487:	68 5c 7c 66 00       	push   $0x667c5c
5a248c:	6a 44                	push   $0x44
5a248e:	68 91 01 00 00       	push   $0x191
5a2493:	6a 50                	push   $0x50
5a2495:	55                   	push   %ebp
5a2496:	e8 75 cc fe ff       	call   0x58f110
5a249b:	83 c4 18             	add    $0x18,%esp
5a249e:	33 c0                	xor    %eax,%eax
5a24a0:	5f                   	pop    %edi
5a24a1:	5d                   	pop    %ebp
5a24a2:	5b                   	pop    %ebx
5a24a3:	8b 8c 24 d0 02 00 00 	mov    0x2d0(%esp),%ecx
5a24aa:	33 cc                	xor    %esp,%ecx
5a24ac:	e8 75 f5 02 00       	call   0x5d1a26
5a24b1:	81 c4 d4 02 00 00    	add    $0x2d4,%esp
5a24b7:	c3                   	ret
5a24b8:	56                   	push   %esi
5a24b9:	39 9c 24 f4 02 00 00 	cmp    %ebx,0x2f4(%esp)
5a24c0:	0f 84 49 01 00 00    	je     0x5a260f
5a24c6:	ff b5 00 04 00 00    	push   0x400(%ebp)
5a24cc:	e8 9f e2 f4 ff       	call   0x4f0770
5a24d1:	83 c4 04             	add    $0x4,%esp
5a24d4:	85 c0                	test   %eax,%eax
5a24d6:	74 22                	je     0x5a24fa
5a24d8:	ff b5 00 04 00 00    	push   0x400(%ebp)
5a24de:	e8 8d e2 f4 ff       	call   0x4f0770
5a24e3:	50                   	push   %eax
5a24e4:	e8 d7 e3 f4 ff       	call   0x4f08c0
5a24e9:	83 c4 08             	add    $0x8,%esp
5a24ec:	85 c0                	test   %eax,%eax
5a24ee:	79 0a                	jns    0x5a24fa
5a24f0:	68 bf 03 00 00       	push   $0x3bf
5a24f5:	e9 41 05 00 00       	jmp    0x5a2a3b
5a24fa:	8b b5 ec 03 00 00    	mov    0x3ec(%ebp),%esi
5a2500:	89 74 24 18          	mov    %esi,0x18(%esp)
5a2504:	85 f6                	test   %esi,%esi
5a2506:	75 0b                	jne    0x5a2513
5a2508:	33 c9                	xor    %ecx,%ecx
5a250a:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a250e:	e9 81 00 00 00       	jmp    0x5a2594
5a2513:	56                   	push   %esi
5a2514:	e8 a7 db f4 ff       	call   0x4f00c0
5a2519:	8b c8                	mov    %eax,%ecx
5a251b:	83 c4 04             	add    $0x4,%esp
5a251e:	8b 45 04             	mov    0x4(%ebp),%eax
5a2521:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a2525:	8b 40 64             	mov    0x64(%eax),%eax
5a2528:	f6 40 30 01          	testb  $0x1,0x30(%eax)
5a252c:	74 66                	je     0x5a2594
5a252e:	51                   	push   %ecx
5a252f:	e8 7c dd f4 ff       	call   0x4f02b0
5a2534:	25 07 00 0f 00       	and    $0xf0007,%eax
5a2539:	83 c4 04             	add    $0x4,%esp
5a253c:	83 f8 02             	cmp    $0x2,%eax
5a253f:	75 4f                	jne    0x5a2590
5a2541:	ff 74 24 10          	push   0x10(%esp)
5a2545:	e8 f6 4c f4 ff       	call   0x4e7240
5a254a:	8b c8                	mov    %eax,%ecx
5a254c:	83 c4 04             	add    $0x4,%esp
5a254f:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5a2553:	83 f9 01             	cmp    $0x1,%ecx
5a2556:	7e 38                	jle    0x5a2590
5a2558:	33 db                	xor    %ebx,%ebx
5a255a:	85 ff                	test   %edi,%edi
5a255c:	74 30                	je     0x5a258e
5a255e:	8b 74 24 24          	mov    0x24(%esp),%esi
5a2562:	83 c6 14             	add    $0x14,%esi
5a2565:	8b 46 04             	mov    0x4(%esi),%eax
5a2568:	39 06                	cmp    %eax,(%esi)
5a256a:	0f 85 95 00 00 00    	jne    0x5a2605
5a2570:	51                   	push   %ecx
5a2571:	50                   	push   %eax
5a2572:	e8 d9 ec f3 ff       	call   0x4e1250