5c2330:	ff 75 fc             	push   -0x4(%ebp)
5c2333:	ff 75 f8             	push   -0x8(%ebp)
5c2336:	e8 45 11 02 00       	call   0x5e3480
5c233b:	8b 45 e0             	mov    -0x20(%ebp),%eax
5c233e:	2b fb                	sub    %ebx,%edi
5c2340:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5c2343:	03 c6                	add    %esi,%eax
5c2345:	57                   	push   %edi
5c2346:	53                   	push   %ebx
5c2347:	8d 04 41             	lea    (%ecx,%eax,2),%eax
5c234a:	50                   	push   %eax
5c234b:	e8 30 11 02 00       	call   0x5e3480
5c2350:	83 c4 18             	add    $0x18,%esp
5c2353:	ff 75 f0             	push   -0x10(%ebp)
5c2356:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c2359:	ff 75 ec             	push   -0x14(%ebp)
5c235c:	ff 75 f8             	push   -0x8(%ebp)
5c235f:	e8 9c 2f 00 00       	call   0x5c5300
5c2364:	5f                   	pop    %edi
5c2365:	5e                   	pop    %esi
5c2366:	5b                   	pop    %ebx
5c2367:	8b e5                	mov    %ebp,%esp
5c2369:	5d                   	pop    %ebp
5c236a:	c2 10 00             	ret    $0x10
5c236d:	8b cf                	mov    %edi,%ecx
5c236f:	8d 04 36             	lea    (%esi,%esi,1),%eax
5c2372:	2b cb                	sub    %ebx,%ecx
5c2374:	89 45 e0             	mov    %eax,-0x20(%ebp)
5c2377:	8b d1                	mov    %ecx,%edx
5c2379:	d1 fa                	sar    $1,%edx
5c237b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5c237e:	3b f2                	cmp    %edx,%esi
5c2380:	73 3c                	jae    0x5c23be
5c2382:	8b f7                	mov    %edi,%esi
5c2384:	50                   	push   %eax
5c2385:	2b f0                	sub    %eax,%esi
5c2387:	56                   	push   %esi
5c2388:	57                   	push   %edi
5c2389:	e8 f2 10 02 00       	call   0x5e3480
5c238e:	8b 45 e0             	mov    -0x20(%ebp),%eax
5c2391:	2b f3                	sub    %ebx,%esi
5c2393:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c2396:	03 c7                	add    %edi,%eax
5c2398:	56                   	push   %esi
5c2399:	53                   	push   %ebx
5c239a:	2b fe                	sub    %esi,%edi
5c239c:	57                   	push   %edi
5c239d:	89 41 04             	mov    %eax,0x4(%ecx)
5c23a0:	e8 db 10 02 00       	call   0x5e3480
5c23a5:	ff 75 10             	push   0x10(%ebp)
5c23a8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5c23ab:	51                   	push   %ecx
5c23ac:	53                   	push   %ebx
5c23ad:	e8 ce 10 02 00       	call   0x5e3480
5c23b2:	83 c4 24             	add    $0x24,%esp
5c23b5:	5f                   	pop    %edi
5c23b6:	5e                   	pop    %esi
5c23b7:	5b                   	pop    %ebx
5c23b8:	8b e5                	mov    %ebp,%esp
5c23ba:	5d                   	pop    %ebp
5c23bb:	c2 10 00             	ret    $0x10
5c23be:	51                   	push   %ecx
5c23bf:	8d 34 03             	lea    (%ebx,%eax,1),%esi
5c23c2:	53                   	push   %ebx
5c23c3:	56                   	push   %esi
5c23c4:	e8 b7 10 02 00       	call   0x5e3480
5c23c9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5c23cc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c23cf:	ff 75 10             	push   0x10(%ebp)
5c23d2:	8d 04 46             	lea    (%esi,%eax,2),%eax
5c23d5:	89 41 04             	mov    %eax,0x4(%ecx)
5c23d8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5c23db:	51                   	push   %ecx
5c23dc:	53                   	push   %ebx
5c23dd:	e8 9e 10 02 00       	call   0x5e3480
5c23e2:	83 c4 18             	add    $0x18,%esp
5c23e5:	5f                   	pop    %edi
5c23e6:	5e                   	pop    %esi
5c23e7:	5b                   	pop    %ebx
5c23e8:	8b e5                	mov    %ebp,%esp
5c23ea:	5d                   	pop    %ebp
5c23eb:	c2 10 00             	ret    $0x10
5c23ee:	e8 4d 2c e8 ff       	call   0x445040
5c23f3:	cc                   	int3
5c23f4:	cc                   	int3
5c23f5:	cc                   	int3
5c23f6:	cc                   	int3
5c23f7:	cc                   	int3
5c23f8:	cc                   	int3
5c23f9:	cc                   	int3
5c23fa:	cc                   	int3
5c23fb:	cc                   	int3
5c23fc:	cc                   	int3
5c23fd:	cc                   	int3
5c23fe:	cc                   	int3
5c23ff:	cc                   	int3
5c2400:	55                   	push   %ebp
5c2401:	8b ec                	mov    %esp,%ebp
5c2403:	51                   	push   %ecx
5c2404:	53                   	push   %ebx
5c2405:	56                   	push   %esi
5c2406:	57                   	push   %edi
5c2407:	8b 7d 08             	mov    0x8(%ebp),%edi
5c240a:	8b d9                	mov    %ecx,%ebx
5c240c:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
5c2412:	0f 87 e2 00 00 00    	ja     0x5c24fa
5c2418:	8b 4b 04             	mov    0x4(%ebx),%ecx
5c241b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5c2420:	2b 0b                	sub    (%ebx),%ecx
5c2422:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5c2425:	8b 4b 08             	mov    0x8(%ebx),%ecx
5c2428:	2b 0b                	sub    (%ebx),%ecx
5c242a:	8b d1                	mov    %ecx,%edx
5c242c:	d1 ea                	shr    $1,%edx
5c242e:	2b c2                	sub    %edx,%eax
5c2430:	3b c8                	cmp    %eax,%ecx
5c2432:	76 04                	jbe    0x5c2438
5c2434:	8b f7                	mov    %edi,%esi
5c2436:	eb 08                	jmp    0x5c2440
5c2438:	8d 34 0a             	lea    (%edx,%ecx,1),%esi
5c243b:	3b f7                	cmp    %edi,%esi
5c243d:	0f 42 f7             	cmovb  %edi,%esi
5c2440:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
5c2446:	72 27                	jb     0x5c246f
5c2448:	8d 46 23             	lea    0x23(%esi),%eax
5c244b:	3b c6                	cmp    %esi,%eax
5c244d:	0f 86 ac 00 00 00    	jbe    0x5c24ff
5c2453:	50                   	push   %eax
5c2454:	e8 e9 eb 01 00       	call   0x5e1042
5c2459:	83 c4 04             	add    $0x4,%esp
5c245c:	85 c0                	test   %eax,%eax
5c245e:	0f 84 91 00 00 00    	je     0x5c24f5
5c2464:	8d 78 23             	lea    0x23(%eax),%edi
5c2467:	83 e7 e0             	and    $0xffffffe0,%edi
5c246a:	89 47 fc             	mov    %eax,-0x4(%edi)
5c246d:	eb 13                	jmp    0x5c2482
5c246f:	85 f6                	test   %esi,%esi
5c2471:	74 0d                	je     0x5c2480
5c2473:	56                   	push   %esi
5c2474:	e8 c9 eb 01 00       	call   0x5e1042
5c2479:	83 c4 04             	add    $0x4,%esp
5c247c:	8b f8                	mov    %eax,%edi
5c247e:	eb 02                	jmp    0x5c2482
5c2480:	33 ff                	xor    %edi,%edi
5c2482:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c2485:	8b 45 08             	mov    0x8(%ebp),%eax
5c2488:	2b c1                	sub    %ecx,%eax
5c248a:	50                   	push   %eax
5c248b:	8b 45 0c             	mov    0xc(%ebp),%eax
5c248e:	0f b6 00             	movzbl (%eax),%eax
5c2491:	50                   	push   %eax
5c2492:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
5c2495:	50                   	push   %eax
5c2496:	e8 65 15 02 00       	call   0x5e3a00
5c249b:	8b 0b                	mov    (%ebx),%ecx
5c249d:	8b 43 04             	mov    0x4(%ebx),%eax
5c24a0:	2b c1                	sub    %ecx,%eax
5c24a2:	50                   	push   %eax
5c24a3:	51                   	push   %ecx
5c24a4:	57                   	push   %edi
5c24a5:	e8 d6 0f 02 00       	call   0x5e3480
5c24aa:	8b 03                	mov    (%ebx),%eax
5c24ac:	83 c4 18             	add    $0x18,%esp
5c24af:	85 c0                	test   %eax,%eax
5c24b1:	74 29                	je     0x5c24dc
5c24b3:	8b 4b 08             	mov    0x8(%ebx),%ecx
5c24b6:	2b c8                	sub    %eax,%ecx
5c24b8:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c24be:	72 12                	jb     0x5c24d2
5c24c0:	8b 50 fc             	mov    -0x4(%eax),%edx
5c24c3:	83 c1 23             	add    $0x23,%ecx
5c24c6:	2b c2                	sub    %edx,%eax
5c24c8:	83 c0 fc             	add    $0xfffffffc,%eax
5c24cb:	83 f8 1f             	cmp    $0x1f,%eax
5c24ce:	77 25                	ja     0x5c24f5
5c24d0:	8b c2                	mov    %edx,%eax
5c24d2:	51                   	push   %ecx
5c24d3:	50                   	push   %eax
5c24d4:	e8 99 eb 01 00       	call   0x5e1072
5c24d9:	83 c4 08             	add    $0x8,%esp
5c24dc:	8b 45 08             	mov    0x8(%ebp),%eax
5c24df:	89 3b                	mov    %edi,(%ebx)
5c24e1:	03 c7                	add    %edi,%eax
5c24e3:	89 43 04             	mov    %eax,0x4(%ebx)
5c24e6:	8d 04 37             	lea    (%edi,%esi,1),%eax
5c24e9:	5f                   	pop    %edi
5c24ea:	5e                   	pop    %esi
5c24eb:	89 43 08             	mov    %eax,0x8(%ebx)
5c24ee:	5b                   	pop    %ebx
5c24ef:	8b e5                	mov    %ebp,%esp
5c24f1:	5d                   	pop    %ebp
5c24f2:	c2 08 00             	ret    $0x8
5c24f5:	e8 35 aa 02 00       	call   0x5ecf2f
5c24fa:	e8 41 2b e8 ff       	call   0x445040
5c24ff:	e8 dc 29 e8 ff       	call   0x444ee0
5c2504:	cc                   	int3
5c2505:	cc                   	int3
5c2506:	cc                   	int3
5c2507:	cc                   	int3
5c2508:	cc                   	int3
5c2509:	cc                   	int3
5c250a:	cc                   	int3
5c250b:	cc                   	int3
5c250c:	cc                   	int3
5c250d:	cc                   	int3
5c250e:	cc                   	int3
5c250f:	cc                   	int3
5c2510:	8b 01                	mov    (%ecx),%eax
5c2512:	85 c0                	test   %eax,%eax
5c2514:	74 07                	je     0x5c251d
5c2516:	50                   	push   %eax
5c2517:	ff 15 e4 21 68 00    	call   *0x6821e4
5c251d:	c3                   	ret
5c251e:	cc                   	int3
5c251f:	cc                   	int3
5c2520:	56                   	push   %esi
5c2521:	8b f1                	mov    %ecx,%esi
5c2523:	8b 06                	mov    (%esi),%eax
5c2525:	85 c0                	test   %eax,%eax
5c2527:	74 3d                	je     0x5c2566
5c2529:	8b 4e 08             	mov    0x8(%esi),%ecx
5c252c:	2b c8                	sub    %eax,%ecx
5c252e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c2534:	72 12                	jb     0x5c2548
5c2536:	8b 50 fc             	mov    -0x4(%eax),%edx
5c2539:	83 c1 23             	add    $0x23,%ecx
5c253c:	2b c2                	sub    %edx,%eax
5c253e:	83 c0 fc             	add    $0xfffffffc,%eax
5c2541:	83 f8 1f             	cmp    $0x1f,%eax
5c2544:	77 22                	ja     0x5c2568
5c2546:	8b c2                	mov    %edx,%eax
5c2548:	51                   	push   %ecx
5c2549:	50                   	push   %eax
5c254a:	e8 23 eb 01 00       	call   0x5e1072
5c254f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
5c2555:	83 c4 08             	add    $0x8,%esp
5c2558:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
5c255f:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
5c2566:	5e                   	pop    %esi
5c2567:	c3                   	ret
5c2568:	e8 c2 a9 02 00       	call   0x5ecf2f
5c256d:	cc                   	int3
5c256e:	cc                   	int3
5c256f:	cc                   	int3
5c2570:	55                   	push   %ebp
5c2571:	8b ec                	mov    %esp,%ebp
5c2573:	6a ff                	push   $0xffffffff
5c2575:	68 38 f5 65 00       	push   $0x65f538
5c257a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c2580:	50                   	push   %eax
5c2581:	83 ec 20             	sub    $0x20,%esp
5c2584:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5c2589:	33 c5                	xor    %ebp,%eax
5c258b:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c258e:	53                   	push   %ebx
5c258f:	56                   	push   %esi
5c2590:	57                   	push   %edi
5c2591:	50                   	push   %eax
5c2592:	8d 45 f4             	lea    -0xc(%ebp),%eax
5c2595:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5c259b:	83 7d 1c 10          	cmpl   $0x10,0x1c(%ebp)
5c259f:	8d 55 08             	lea    0x8(%ebp),%edx
5c25a2:	8b 5d 18             	mov    0x18(%ebp),%ebx
5c25a5:	8d 7d 08             	lea    0x8(%ebp),%edi
5c25a8:	0f 43 55 08          	cmovae 0x8(%ebp),%edx
5c25ac:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5c25af:	03 da                	add    %edx,%ebx
5c25b1:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c25b8:	83 7d 1c 10          	cmpl   $0x10,0x1c(%ebp)
5c25bc:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5c25c3:	0f 43 7d 08          	cmovae 0x8(%ebp),%edi
5c25c7:	33 c0                	xor    %eax,%eax
5c25c9:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
5c25cd:	8b c3                	mov    %ebx,%eax
5c25cf:	2b c7                	sub    %edi,%eax
5c25d1:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
5c25d8:	50                   	push   %eax
5c25d9:	e8 92 f0 e7 ff       	call   0x441670
5c25de:	ff 75 d4             	push   -0x2c(%ebp)
5c25e1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5c25e4:	53                   	push   %ebx
5c25e5:	57                   	push   %edi
5c25e6:	e8 05 18 e8 ff       	call   0x443df0
5c25eb:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
5c25ef:	8d 45 d8             	lea    -0x28(%ebp),%eax
5c25f2:	6a 00                	push   $0x0
5c25f4:	74 07                	je     0x5c25fd
5c25f6:	68 00 00 00 02       	push   $0x2000000
5c25fb:	eb 05                	jmp    0x5c2602
5c25fd:	68 80 00 00 00       	push   $0x80
5c2602:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
5c2606:	6a 03                	push   $0x3
5c2608:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
5c260c:	6a 00                	push   $0x0
5c260e:	6a 03                	push   $0x3
5c2610:	68 00 00 00 80       	push   $0x80000000
5c2615:	50                   	push   %eax
5c2616:	ff 15 f0 21 68 00    	call   *0x6821f0
5c261c:	8b 55 ec             	mov    -0x14(%ebp),%edx
5c261f:	33 f6                	xor    %esi,%esi
5c2621:	83 f8 ff             	cmp    $0xffffffff,%eax
5c2624:	0f 45 f0             	cmovne %eax,%esi
5c2627:	83 fa 08             	cmp    $0x8,%edx
5c262a:	72 2e                	jb     0x5c265a
5c262c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5c262f:	8d 14 55 02 00 00 00 	lea    0x2(,%edx,2),%edx
5c2636:	8b c1                	mov    %ecx,%eax
5c2638:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c263e:	72 10                	jb     0x5c2650
5c2640:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c2643:	83 c2 23             	add    $0x23,%edx
5c2646:	2b c1                	sub    %ecx,%eax
5c2648:	83 c0 fc             	add    $0xfffffffc,%eax
5c264b:	83 f8 1f             	cmp    $0x1f,%eax
5c264e:	77 6c                	ja     0x5c26bc
5c2650:	52                   	push   %edx
5c2651:	51                   	push   %ecx
5c2652:	e8 1b ea 01 00       	call   0x5e1072
5c2657:	83 c4 08             	add    $0x8,%esp
5c265a:	8b 55 1c             	mov    0x1c(%ebp),%edx
5c265d:	33 c0                	xor    %eax,%eax
5c265f:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5c2666:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
5c266d:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
5c2671:	83 fa 10             	cmp    $0x10,%edx
5c2674:	72 28                	jb     0x5c269e
5c2676:	8b 4d 08             	mov    0x8(%ebp),%ecx
5c2679:	42                   	inc    %edx
5c267a:	8b c1                	mov    %ecx,%eax
5c267c:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c2682:	72 10                	jb     0x5c2694
5c2684:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c2687:	83 c2 23             	add    $0x23,%edx
5c268a:	2b c1                	sub    %ecx,%eax
5c268c:	83 c0 fc             	add    $0xfffffffc,%eax
5c268f:	83 f8 1f             	cmp    $0x1f,%eax
5c2692:	77 28                	ja     0x5c26bc
5c2694:	52                   	push   %edx
5c2695:	51                   	push   %ecx
5c2696:	e8 d7 e9 01 00       	call   0x5e1072
5c269b:	83 c4 08             	add    $0x8,%esp
5c269e:	8b c6                	mov    %esi,%eax
5c26a0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c26a3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c26aa:	59                   	pop    %ecx
5c26ab:	5f                   	pop    %edi
5c26ac:	5e                   	pop    %esi
5c26ad:	5b                   	pop    %ebx
5c26ae:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5c26b1:	33 cd                	xor    %ebp,%ecx