48516a:	8b 8d 1c ff ff ff    	mov    -0xe4(%ebp),%ecx
485170:	3b c8                	cmp    %eax,%ecx
485172:	7c 90                	jl     0x485104
485174:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
48517a:	8b 85 18 ff ff ff    	mov    -0xe8(%ebp),%eax
485180:	89 41 18             	mov    %eax,0x18(%ecx)
485183:	8b 46 24             	mov    0x24(%esi),%eax
485186:	89 41 1c             	mov    %eax,0x1c(%ecx)
485189:	8d 41 44             	lea    0x44(%ecx),%eax
48518c:	50                   	push   %eax
48518d:	ff 76 24             	push   0x24(%esi)
485190:	8b cf                	mov    %edi,%ecx
485192:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
485198:	e8 03 10 ff ff       	call   0x4761a0
48519d:	33 c9                	xor    %ecx,%ecx
48519f:	89 8d 1c ff ff ff    	mov    %ecx,-0xe4(%ebp)
4851a5:	39 4e 24             	cmp    %ecx,0x24(%esi)
4851a8:	7e 44                	jle    0x4851ee
4851aa:	33 d2                	xor    %edx,%edx
4851ac:	89 95 18 ff ff ff    	mov    %edx,-0xe8(%ebp)
4851b2:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
4851b8:	8b 00                	mov    (%eax),%eax
4851ba:	03 c2                	add    %edx,%eax
4851bc:	50                   	push   %eax
4851bd:	8b 46 2c             	mov    0x2c(%esi),%eax
4851c0:	6a 00                	push   $0x0
4851c2:	ff 74 88 04          	push   0x4(%eax,%ecx,4)
4851c6:	8b cf                	mov    %edi,%ecx
4851c8:	e8 c3 04 00 00       	call   0x485690
4851cd:	8b 8d 1c ff ff ff    	mov    -0xe4(%ebp),%ecx
4851d3:	8b 95 18 ff ff ff    	mov    -0xe8(%ebp),%edx
4851d9:	41                   	inc    %ecx
4851da:	83 c2 5c             	add    $0x5c,%edx
4851dd:	89 8d 1c ff ff ff    	mov    %ecx,-0xe4(%ebp)
4851e3:	89 95 18 ff ff ff    	mov    %edx,-0xe8(%ebp)
4851e9:	3b 4e 24             	cmp    0x24(%esi),%ecx
4851ec:	7c c4                	jl     0x4851b2
4851ee:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
4851f4:	8b 46 34             	mov    0x34(%esi),%eax
4851f7:	89 41 20             	mov    %eax,0x20(%ecx)
4851fa:	ff 76 34             	push   0x34(%esi)
4851fd:	8b 4f 04             	mov    0x4(%edi),%ecx
485200:	e8 1b 10 ff ff       	call   0x476220
485205:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
48520b:	33 d2                	xor    %edx,%edx
48520d:	89 95 18 ff ff ff    	mov    %edx,-0xe8(%ebp)
485213:	89 41 48             	mov    %eax,0x48(%ecx)
485216:	39 56 34             	cmp    %edx,0x34(%esi)
485219:	7e 3f                	jle    0x48525a
48521b:	89 95 1c ff ff ff    	mov    %edx,-0xe4(%ebp)
485221:	8b 41 48             	mov    0x48(%ecx),%eax
485224:	8b cf                	mov    %edi,%ecx
485226:	03 85 1c ff ff ff    	add    -0xe4(%ebp),%eax
48522c:	50                   	push   %eax
48522d:	8b 46 3c             	mov    0x3c(%esi),%eax
485230:	6a 00                	push   $0x0
485232:	ff 74 90 04          	push   0x4(%eax,%edx,4)
485236:	e8 65 b9 ff ff       	call   0x480ba0
48523b:	8b 95 18 ff ff ff    	mov    -0xe8(%ebp),%edx
485241:	83 85 1c ff ff ff 30 	addl   $0x30,-0xe4(%ebp)
485248:	42                   	inc    %edx
485249:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
48524f:	89 95 18 ff ff ff    	mov    %edx,-0xe8(%ebp)
485255:	3b 56 34             	cmp    0x34(%esi),%edx
485258:	7c c7                	jl     0x485221
48525a:	8b 46 44             	mov    0x44(%esi),%eax
48525d:	89 41 24             	mov    %eax,0x24(%ecx)
485260:	8b 46 44             	mov    0x44(%esi),%eax
485263:	8b 4f 04             	mov    0x4(%edi),%ecx
485266:	8d 04 40             	lea    (%eax,%eax,2),%eax
485269:	c1 e0 03             	shl    $0x3,%eax
48526c:	50                   	push   %eax
48526d:	e8 6e b4 ff ff       	call   0x4806e0
485272:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
485278:	33 d2                	xor    %edx,%edx
48527a:	89 95 18 ff ff ff    	mov    %edx,-0xe8(%ebp)
485280:	89 41 4c             	mov    %eax,0x4c(%ecx)
485283:	39 56 44             	cmp    %edx,0x44(%esi)
485286:	7e 41                	jle    0x4852c9
485288:	89 95 1c ff ff ff    	mov    %edx,-0xe4(%ebp)
48528e:	66 90                	xchg   %ax,%ax
485290:	8b 41 4c             	mov    0x4c(%ecx),%eax
485293:	8b cf                	mov    %edi,%ecx
485295:	03 85 1c ff ff ff    	add    -0xe4(%ebp),%eax
48529b:	50                   	push   %eax
48529c:	8b 46 4c             	mov    0x4c(%esi),%eax
48529f:	6a 00                	push   $0x0
4852a1:	ff 74 90 04          	push   0x4(%eax,%edx,4)
4852a5:	e8 c6 20 00 00       	call   0x487370
4852aa:	8b 95 18 ff ff ff    	mov    -0xe8(%ebp),%edx
4852b0:	83 85 1c ff ff ff 18 	addl   $0x18,-0xe4(%ebp)
4852b7:	42                   	inc    %edx
4852b8:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
4852be:	89 95 18 ff ff ff    	mov    %edx,-0xe8(%ebp)
4852c4:	3b 56 44             	cmp    0x44(%esi),%edx
4852c7:	7c c7                	jl     0x485290
4852c9:	8b 46 54             	mov    0x54(%esi),%eax
4852cc:	89 41 28             	mov    %eax,0x28(%ecx)
4852cf:	8d 41 50             	lea    0x50(%ecx),%eax
4852d2:	50                   	push   %eax
4852d3:	ff 76 54             	push   0x54(%esi)
4852d6:	8b cf                	mov    %edi,%ecx
4852d8:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
4852de:	e8 1d 10 ff ff       	call   0x476300
4852e3:	33 d2                	xor    %edx,%edx
4852e5:	89 95 1c ff ff ff    	mov    %edx,-0xe4(%ebp)
4852eb:	39 56 54             	cmp    %edx,0x54(%esi)
4852ee:	7e 4e                	jle    0x48533e
4852f0:	33 c0                	xor    %eax,%eax
4852f2:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
4852f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4852ff:	00
485300:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
485306:	6a 01                	push   $0x1
485308:	8b 09                	mov    (%ecx),%ecx
48530a:	03 c8                	add    %eax,%ecx
48530c:	8b 46 5c             	mov    0x5c(%esi),%eax
48530f:	51                   	push   %ecx
485310:	6a 00                	push   $0x0
485312:	8b cf                	mov    %edi,%ecx
485314:	ff 74 90 04          	push   0x4(%eax,%edx,4)
485318:	e8 53 d4 ff ff       	call   0x482770
48531d:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
485323:	8b 85 18 ff ff ff    	mov    -0xe8(%ebp),%eax
485329:	42                   	inc    %edx
48532a:	83 c0 58             	add    $0x58,%eax
48532d:	89 95 1c ff ff ff    	mov    %edx,-0xe4(%ebp)
485333:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
485339:	3b 56 54             	cmp    0x54(%esi),%edx
48533c:	7c c2                	jl     0x485300
48533e:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
485344:	c7 42 54 00 00 00 00 	movl   $0x0,0x54(%edx)
48534b:	8b 46 08             	mov    0x8(%esi),%eax
48534e:	c1 e8 03             	shr    $0x3,%eax
485351:	24 01                	and    $0x1,%al
485353:	74 1f                	je     0x485374
485355:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
48535b:	b9 78 d9 68 00       	mov    $0x68d978,%ecx
485360:	85 c0                	test   %eax,%eax
485362:	52                   	push   %edx
485363:	0f 45 c8             	cmovne %eax,%ecx
485366:	51                   	push   %ecx
485367:	8b cf                	mov    %edi,%ecx
485369:	e8 b2 b5 ff ff       	call   0x480920
48536e:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
485374:	56                   	push   %esi
485375:	52                   	push   %edx
485376:	8b cf                	mov    %edi,%ecx
485378:	e8 43 50 00 00       	call   0x48a3c0
48537d:	8a 4f 18             	mov    0x18(%edi),%cl
485380:	84 c9                	test   %cl,%cl
485382:	0f 85 ee 01 00 00    	jne    0x485576
485388:	6a 01                	push   $0x1
48538a:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
485390:	89 bd 20 ff ff ff    	mov    %edi,-0xe0(%ebp)
485396:	c7 85 2c ff ff ff 00 	movl   $0x0,-0xd4(%ebp)
48539d:	00 00 00
4853a0:	c7 85 30 ff ff ff 00 	movl   $0x0,-0xd0(%ebp)
4853a7:	00 00 00
4853aa:	e8 51 81 01 00       	call   0x49d500
4853af:	89 00                	mov    %eax,(%eax)
4853b1:	89 40 04             	mov    %eax,0x4(%eax)
4853b4:	89 40 08             	mov    %eax,0x8(%eax)
4853b7:	66 c7 40 0c 01 01    	movw   $0x101,0xc(%eax)
4853bd:	89 85 2c ff ff ff    	mov    %eax,-0xd4(%ebp)
4853c3:	6a 20                	push   $0x20
4853c5:	c6 45 fc 19          	movb   $0x19,-0x4(%ebp)
4853c9:	c7 85 34 ff ff ff 00 	movl   $0x0,-0xcc(%ebp)
4853d0:	00 00 00
4853d3:	c7 85 38 ff ff ff 00 	movl   $0x0,-0xc8(%ebp)
4853da:	00 00 00
4853dd:	e8 43 be 14 00       	call   0x5d1225
4853e2:	83 c4 04             	add    $0x4,%esp
4853e5:	89 00                	mov    %eax,(%eax)
4853e7:	89 40 04             	mov    %eax,0x4(%eax)
4853ea:	89 40 08             	mov    %eax,0x8(%eax)
4853ed:	66 c7 40 0c 01 01    	movw   $0x101,0xc(%eax)
4853f3:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
4853f9:	8d 8d 3c ff ff ff    	lea    -0xc4(%ebp),%ecx
4853ff:	c6 45 fc 1a          	movb   $0x1a,-0x4(%ebp)
485403:	e8 d8 ef 04 00       	call   0x4d43e0
485408:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
48540f:	c6 45 fc 1b          	movb   $0x1b,-0x4(%ebp)
485413:	75 48                	jne    0x48545d
485415:	68 fe 18 00 00       	push   $0x18fe
48541a:	68 d8 7d 60 00       	push   $0x607dd8
48541f:	6a 03                	push   $0x3
485421:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
485424:	e8 b7 fe fe ff       	call   0x4752e0
485429:	8b 8d fc fe ff ff    	mov    -0x104(%ebp),%ecx
48542f:	81 c9 00 80 00 00    	or     $0x8000,%ecx
485435:	c6 45 fc 1c          	movb   $0x1c,-0x4(%ebp)
485439:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
48543f:	89 8d 10 ff ff ff    	mov    %ecx,-0xf0(%ebp)
485445:	8b c8                	mov    %eax,%ecx
485447:	68 a8 9a 60 00       	push   $0x609aa8
48544c:	e8 9f 04 ff ff       	call   0x4758f0
485451:	50                   	push   %eax
485452:	8d 8d 0b ff ff ff    	lea    -0xf5(%ebp),%ecx
485458:	e8 23 02 ff ff       	call   0x475680
48545d:	f7 85 fc fe ff ff 00 	testl  $0x8000,-0x104(%ebp)
485464:	80 00 00
485467:	c7 45 fc 1b 00 00 00 	movl   $0x1b,-0x4(%ebp)
48546e:	74 08                	je     0x485478
485470:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
485473:	e8 98 01 ff ff       	call   0x475610
485478:	8b 47 10             	mov    0x10(%edi),%eax
48547b:	8b 77 0c             	mov    0xc(%edi),%esi
48547e:	c6 45 fc 1d          	movb   $0x1d,-0x4(%ebp)
485482:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
485488:	3b f0                	cmp    %eax,%esi
48548a:	74 20                	je     0x4854ac
48548c:	0f 1f 40 00          	nopl   0x0(%eax)
485490:	56                   	push   %esi
485491:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
485497:	e8 84 d7 00 00       	call   0x492c20
48549c:	8b 47 10             	mov    0x10(%edi),%eax
48549f:	83 c6 44             	add    $0x44,%esi
4854a2:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
4854a8:	3b f0                	cmp    %eax,%esi
4854aa:	75 e4                	jne    0x485490
4854ac:	8b 77 0c             	mov    0xc(%edi),%esi
4854af:	3b f0                	cmp    %eax,%esi
4854b1:	74 24                	je     0x4854d7
4854b3:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
4854b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4854c0:	8b ce                	mov    %esi,%ecx
4854c2:	e8 59 89 ff ff       	call   0x47de20
4854c7:	83 c6 44             	add    $0x44,%esi
4854ca:	3b f7                	cmp    %edi,%esi
4854cc:	75 f2                	jne    0x4854c0
4854ce:	8b bd f4 fe ff ff    	mov    -0x10c(%ebp),%edi
4854d4:	8b 77 0c             	mov    0xc(%edi),%esi
4854d7:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
4854dd:	89 77 10             	mov    %esi,0x10(%edi)
4854e0:	85 c0                	test   %eax,%eax
4854e2:	74 0c                	je     0x4854f0
4854e4:	50                   	push   %eax
4854e5:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
4854eb:	e8 60 43 01 00       	call   0x499850
4854f0:	8d 8d 3c ff ff ff    	lea    -0xc4(%ebp),%ecx
4854f6:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
4854fa:	e8 51 f2 04 00       	call   0x4d4750
4854ff:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
485505:	ff 70 04             	push   0x4(%eax)
485508:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
48550e:	50                   	push   %eax
48550f:	8b c8                	mov    %eax,%ecx
485511:	e8 7a 43 ff ff       	call   0x479890
485516:	6a 20                	push   $0x20
485518:	ff b5 34 ff ff ff    	push   -0xcc(%ebp)
48551e:	e8 32 bd 14 00       	call   0x5d1255
485523:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
485529:	83 c4 08             	add    $0x8,%esp
48552c:	ff 70 04             	push   0x4(%eax)
48552f:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
485535:	50                   	push   %eax
485536:	8b c8                	mov    %eax,%ecx
485538:	e8 f3 43 ff ff       	call   0x479930
48553d:	6a 28                	push   $0x28
48553f:	ff b5 2c ff ff ff    	push   -0xd4(%ebp)
485545:	e8 0b bd 14 00       	call   0x5d1255
48554a:	8a 4f 18             	mov    0x18(%edi),%cl
48554d:	83 c4 08             	add    $0x8,%esp
485550:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
485556:	84 c9                	test   %cl,%cl
485558:	75 1c                	jne    0x485576
48555a:	8b 07                	mov    (%edi),%eax
48555c:	38 48 15             	cmp    %cl,0x15(%eax)
48555f:	75 11                	jne    0x485572
485561:	56                   	push   %esi
485562:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
485568:	8b cf                	mov    %edi,%ecx
48556a:	e8 c1 4f 01 00       	call   0x49a530
48556f:	8a 4f 18             	mov    0x18(%edi),%cl
485572:	84 c9                	test   %cl,%cl
485574:	74 5b                	je     0x4855d1
485576:	33 c9                	xor    %ecx,%ecx
485578:	89 8d f4 fe ff ff    	mov    %ecx,-0x10c(%ebp)
48557e:	39 4e 24             	cmp    %ecx,0x24(%esi)
485581:	7e 70                	jle    0x4855f3
485583:	33 d2                	xor    %edx,%edx
485585:	89 95 1c ff ff ff    	mov    %edx,-0xe4(%ebp)
48558b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
485590:	8b 46 2c             	mov    0x2c(%esi),%eax
485593:	ff 74 88 04          	push   0x4(%eax,%ecx,4)
485597:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
48559d:	8b cf                	mov    %edi,%ecx
48559f:	8b 00                	mov    (%eax),%eax
4855a1:	03 c2                	add    %edx,%eax
4855a3:	50                   	push   %eax
4855a4:	e8 d7 9a 00 00       	call   0x48f080
4855a9:	8b 8d f4 fe ff ff    	mov    -0x10c(%ebp),%ecx
4855af:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
4855b5:	41                   	inc    %ecx
4855b6:	83 c2 5c             	add    $0x5c,%edx
4855b9:	89 8d f4 fe ff ff    	mov    %ecx,-0x10c(%ebp)
4855bf:	89 95 1c ff ff ff    	mov    %edx,-0xe4(%ebp)
4855c5:	3b 4e 24             	cmp    0x24(%esi),%ecx
4855c8:	7c c6                	jl     0x485590
4855ca:	8a 4f 18             	mov    0x18(%edi),%cl
4855cd:	84 c9                	test   %cl,%cl
4855cf:	75 22                	jne    0x4855f3
4855d1:	83 7f 48 00          	cmpl   $0x0,0x48(%edi)
4855d5:	74 26                	je     0x4855fd
4855d7:	8b 07                	mov    (%edi),%eax
4855d9:	80 78 15 00          	cmpb   $0x0,0x15(%eax)
4855dd:	75 1e                	jne    0x4855fd
4855df:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
4855e5:	8b cf                	mov    %edi,%ecx
4855e7:	56                   	push   %esi
4855e8:	e8 93 f6 00 00       	call   0x494c80
4855ed:	80 7f 18 00          	cmpb   $0x0,0x18(%edi)
4855f1:	74 0a                	je     0x4855fd
4855f3:	c7 85 14 ff ff ff 00 	movl   $0x0,-0xec(%ebp)
4855fa:	00 00 00
4855fd:	8d 8d e4 fe ff ff    	lea    -0x11c(%ebp),%ecx
485603:	e8 28 d1 fd ff       	call   0x462730
485608:	8b 85 ec fe ff ff    	mov    -0x114(%ebp),%eax
48560e:	ff 70 04             	push   0x4(%eax)
485611:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
485617:	50                   	push   %eax
485618:	8b c8                	mov    %eax,%ecx
48561a:	e8 c1 43 ff ff       	call   0x4799e0
48561f:	6a 28                	push   $0x28
485621:	ff b5 ec fe ff ff    	push   -0x114(%ebp)
485627:	e8 29 bc 14 00       	call   0x5d1255
48562c:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
485632:	83 c4 08             	add    $0x8,%esp
485635:	eb 18                	jmp    0x48564f
485637:	8b 46 78             	mov    0x78(%esi),%eax
48563a:	8b cf                	mov    %edi,%ecx
48563c:	68 3c 87 60 00       	push   $0x60873c
485641:	6a 0a                	push   $0xa
485643:	56                   	push   %esi
485644:	83 e0 fe             	and    $0xfffffffe,%eax
485647:	50                   	push   %eax
485648:	e8 93 92 ff ff       	call   0x47e8e0
48564d:	33 c0                	xor    %eax,%eax
48564f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
485652:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
485659:	59                   	pop    %ecx
48565a:	5f                   	pop    %edi
48565b:	5e                   	pop    %esi
48565c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
48565f:	33 cd                	xor    %ebp,%ecx
485661:	e8 c0 c3 14 00       	call   0x5d1a26
485666:	8b e5                	mov    %ebp,%esp
485668:	5d                   	pop    %ebp
485669:	c2 04 00             	ret    $0x4