5c4171:	e8 2a 0e 00 00       	call   0x5c4fa0
5c4176:	84 c0                	test   %al,%al
5c4178:	74 21                	je     0x5c419b
5c417a:	8b 87 10 59 00 00    	mov    0x5910(%edi),%eax
5c4180:	2b 70 04             	sub    0x4(%eax),%esi
5c4183:	c1 ee 10             	shr    $0x10,%esi
5c4186:	81 fe 00 80 00 00    	cmp    $0x8000,%esi
5c418c:	73 cc                	jae    0x5c415a
5c418e:	8b 44 f0 0c          	mov    0xc(%eax,%esi,8),%eax
5c4192:	5f                   	pop    %edi
5c4193:	5e                   	pop    %esi
5c4194:	8b 40 10             	mov    0x10(%eax),%eax
5c4197:	5d                   	pop    %ebp
5c4198:	c2 04 00             	ret    $0x4
5c419b:	56                   	push   %esi
5c419c:	e8 08 31 02 00       	call   0x5e72a9
5c41a1:	83 c4 04             	add    $0x4,%esp
5c41a4:	5f                   	pop    %edi
5c41a5:	5e                   	pop    %esi
5c41a6:	5d                   	pop    %ebp
5c41a7:	c2 04 00             	ret    $0x4
5c41aa:	cc                   	int3
5c41ab:	cc                   	int3
5c41ac:	cc                   	int3
5c41ad:	cc                   	int3
5c41ae:	cc                   	int3
5c41af:	cc                   	int3
5c41b0:	55                   	push   %ebp
5c41b1:	8b ec                	mov    %esp,%ebp
5c41b3:	83 ec 14             	sub    $0x14,%esp
5c41b6:	8b c1                	mov    %ecx,%eax
5c41b8:	33 c9                	xor    %ecx,%ecx
5c41ba:	53                   	push   %ebx
5c41bb:	56                   	push   %esi
5c41bc:	57                   	push   %edi
5c41bd:	8d 90 00 04 00 00    	lea    0x400(%eax),%edx
5c41c3:	89 45 f8             	mov    %eax,-0x8(%ebp)
5c41c6:	33 f6                	xor    %esi,%esi
5c41c8:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c41cb:	33 db                	xor    %ebx,%ebx
5c41cd:	33 ff                	xor    %edi,%edi
5c41cf:	90                   	nop
5c41d0:	8d 46 01             	lea    0x1(%esi),%eax
5c41d3:	89 45 f4             	mov    %eax,-0xc(%ebp)
5c41d6:	25 01 00 00 80       	and    $0x80000001,%eax
5c41db:	79 05                	jns    0x5c41e2
5c41dd:	48                   	dec    %eax
5c41de:	83 c8 fe             	or     $0xfffffffe,%eax
5c41e1:	40                   	inc    %eax
5c41e2:	83 f8 01             	cmp    $0x1,%eax
5c41e5:	75 1b                	jne    0x5c4202
5c41e7:	83 c3 08             	add    $0x8,%ebx
5c41ea:	89 55 fc             	mov    %edx,-0x4(%ebp)
5c41ed:	53                   	push   %ebx
5c41ee:	8b ca                	mov    %edx,%ecx
5c41f0:	e8 fb 0b 00 00       	call   0x5c4df0
5c41f5:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c41f8:	47                   	inc    %edi
5c41f9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c41fc:	83 c2 38             	add    $0x38,%edx
5c41ff:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c4202:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c4205:	89 0c b0             	mov    %ecx,(%eax,%esi,4)
5c4208:	8b 75 f4             	mov    -0xc(%ebp),%esi
5c420b:	83 fe 20             	cmp    $0x20,%esi
5c420e:	7c c0                	jl     0x5c41d0
5c4210:	a1 1c 22 60 00       	mov    0x60221c,%eax
5c4215:	89 5d ec             	mov    %ebx,-0x14(%ebp)
5c4218:	89 45 f4             	mov    %eax,-0xc(%ebp)
5c421b:	83 fe 40             	cmp    $0x40,%esi
5c421e:	0f 8d c9 00 00 00    	jge    0x5c42ed
5c4224:	8b 55 f8             	mov    -0x8(%ebp),%edx
5c4227:	8d 04 fd 00 00 00 00 	lea    0x0(,%edi,8),%eax
5c422e:	2b c7                	sub    %edi,%eax
5c4230:	8d 14 c2             	lea    (%edx,%eax,8),%edx
5c4233:	81 c2 08 04 00 00    	add    $0x408,%edx
5c4239:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c423c:	8d 64 24 00          	lea    0x0(%esp),%esp
5c4240:	81 fe 00 01 00 00    	cmp    $0x100,%esi
5c4246:	0f 8d ad 00 00 00    	jge    0x5c42f9
5c424c:	8d 46 01             	lea    0x1(%esi),%eax
5c424f:	89 45 ec             	mov    %eax,-0x14(%ebp)
5c4252:	25 03 00 00 80       	and    $0x80000003,%eax
5c4257:	79 05                	jns    0x5c425e
5c4259:	48                   	dec    %eax
5c425a:	83 c8 fc             	or     $0xfffffffc,%eax
5c425d:	40                   	inc    %eax
5c425e:	83 f8 01             	cmp    $0x1,%eax
5c4261:	75 78                	jne    0x5c42db
5c4263:	83 c3 10             	add    $0x10,%ebx
5c4266:	8d 4a f8             	lea    -0x8(%edx),%ecx
5c4269:	83 3d f4 eb 6d 00 00 	cmpl   $0x0,0x6debf4
5c4270:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5c4273:	75 46                	jne    0x5c42bb
5c4275:	50                   	push   %eax
5c4276:	68 00 20 00 00       	push   $0x2000
5c427b:	68 00 00 00 02       	push   $0x2000000
5c4280:	6a 00                	push   $0x0
5c4282:	ff 55 f4             	call   *-0xc(%ebp)
5c4285:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c4288:	a3 f4 eb 6d 00       	mov    %eax,0x6debf4
5c428d:	85 c0                	test   %eax,%eax
5c428f:	74 13                	je     0x5c42a4
5c4291:	8d 88 00 00 00 02    	lea    0x2000000(%eax),%ecx
5c4297:	a3 f0 eb 6d 00       	mov    %eax,0x6debf0
5c429c:	89 0d f8 eb 6d 00    	mov    %ecx,0x6debf8
5c42a2:	eb 14                	jmp    0x5c42b8
5c42a4:	c7 05 f8 eb 6d 00 00 	movl   $0x0,0x6debf8
5c42ab:	00 00 00
5c42ae:	c7 05 f0 eb 6d 00 00 	movl   $0x0,0x6debf0
5c42b5:	00 00 00
5c42b8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c42bb:	f6 c3 07             	test   $0x7,%bl
5c42be:	75 05                	jne    0x5c42c5
5c42c0:	83 fb 08             	cmp    $0x8,%ebx
5c42c3:	73 01                	jae    0x5c42c6
5c42c5:	cc                   	int3
5c42c6:	89 5a 08             	mov    %ebx,0x8(%edx)
5c42c9:	33 c0                	xor    %eax,%eax
5c42cb:	87 02                	xchg   %eax,(%edx)
5c42cd:	c7 42 0c 00 00 00 00 	movl   $0x0,0xc(%edx)
5c42d4:	47                   	inc    %edi
5c42d5:	83 c2 38             	add    $0x38,%edx
5c42d8:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c42db:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c42de:	89 0c b0             	mov    %ecx,(%eax,%esi,4)
5c42e1:	8b 75 ec             	mov    -0x14(%ebp),%esi
5c42e4:	83 fe 40             	cmp    $0x40,%esi
5c42e7:	0f 8c 53 ff ff ff    	jl     0x5c4240
5c42ed:	81 fe 80 00 00 00    	cmp    $0x80,%esi
5c42f3:	0f 83 c8 00 00 00    	jae    0x5c43c1
5c42f9:	8b 55 f8             	mov    -0x8(%ebp),%edx
5c42fc:	8d 04 fd 00 00 00 00 	lea    0x0(,%edi,8),%eax
5c4303:	2b c7                	sub    %edi,%eax
5c4305:	8d 14 c2             	lea    (%edx,%eax,8),%edx
5c4308:	81 c2 08 04 00 00    	add    $0x408,%edx
5c430e:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c4311:	81 fe 00 01 00 00    	cmp    $0x100,%esi
5c4317:	0f 8d b0 00 00 00    	jge    0x5c43cd
5c431d:	8d 46 01             	lea    0x1(%esi),%eax
5c4320:	89 45 ec             	mov    %eax,-0x14(%ebp)
5c4323:	25 07 00 00 80       	and    $0x80000007,%eax
5c4328:	79 05                	jns    0x5c432f
5c432a:	48                   	dec    %eax
5c432b:	83 c8 f8             	or     $0xfffffff8,%eax
5c432e:	40                   	inc    %eax
5c432f:	83 f8 01             	cmp    $0x1,%eax
5c4332:	75 78                	jne    0x5c43ac
5c4334:	83 c3 20             	add    $0x20,%ebx
5c4337:	8d 4a f8             	lea    -0x8(%edx),%ecx
5c433a:	83 3d f4 eb 6d 00 00 	cmpl   $0x0,0x6debf4
5c4341:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5c4344:	75 46                	jne    0x5c438c
5c4346:	50                   	push   %eax
5c4347:	68 00 20 00 00       	push   $0x2000
5c434c:	68 00 00 00 02       	push   $0x2000000
5c4351:	6a 00                	push   $0x0
5c4353:	ff 55 f4             	call   *-0xc(%ebp)
5c4356:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c4359:	a3 f4 eb 6d 00       	mov    %eax,0x6debf4
5c435e:	85 c0                	test   %eax,%eax
5c4360:	74 13                	je     0x5c4375
5c4362:	8d 88 00 00 00 02    	lea    0x2000000(%eax),%ecx
5c4368:	a3 f0 eb 6d 00       	mov    %eax,0x6debf0
5c436d:	89 0d f8 eb 6d 00    	mov    %ecx,0x6debf8
5c4373:	eb 14                	jmp    0x5c4389
5c4375:	c7 05 f8 eb 6d 00 00 	movl   $0x0,0x6debf8
5c437c:	00 00 00
5c437f:	c7 05 f0 eb 6d 00 00 	movl   $0x0,0x6debf0
5c4386:	00 00 00
5c4389:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c438c:	f6 c3 07             	test   $0x7,%bl
5c438f:	75 05                	jne    0x5c4396
5c4391:	83 fb 08             	cmp    $0x8,%ebx
5c4394:	73 01                	jae    0x5c4397
5c4396:	cc                   	int3
5c4397:	89 5a 08             	mov    %ebx,0x8(%edx)
5c439a:	33 c0                	xor    %eax,%eax
5c439c:	87 02                	xchg   %eax,(%edx)
5c439e:	c7 42 0c 00 00 00 00 	movl   $0x0,0xc(%edx)
5c43a5:	47                   	inc    %edi
5c43a6:	83 c2 38             	add    $0x38,%edx
5c43a9:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c43ac:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c43af:	89 0c b0             	mov    %ecx,(%eax,%esi,4)
5c43b2:	8b 75 ec             	mov    -0x14(%ebp),%esi
5c43b5:	81 fe 80 00 00 00    	cmp    $0x80,%esi
5c43bb:	0f 8c 50 ff ff ff    	jl     0x5c4311
5c43c1:	81 fe c0 00 00 00    	cmp    $0xc0,%esi
5c43c7:	0f 83 d3 00 00 00    	jae    0x5c44a0
5c43cd:	8b 55 f8             	mov    -0x8(%ebp),%edx
5c43d0:	8d 04 fd 00 00 00 00 	lea    0x0(,%edi,8),%eax
5c43d7:	2b c7                	sub    %edi,%eax
5c43d9:	8d 14 c2             	lea    (%edx,%eax,8),%edx
5c43dc:	81 c2 08 04 00 00    	add    $0x408,%edx
5c43e2:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c43e5:	eb 09                	jmp    0x5c43f0
5c43e7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
5c43ee:	8b ff                	mov    %edi,%edi
5c43f0:	81 fe 00 01 00 00    	cmp    $0x100,%esi
5c43f6:	0f 8d 78 01 00 00    	jge    0x5c4574
5c43fc:	8d 46 01             	lea    0x1(%esi),%eax
5c43ff:	89 45 ec             	mov    %eax,-0x14(%ebp)
5c4402:	25 0f 00 00 80       	and    $0x8000000f,%eax
5c4407:	79 05                	jns    0x5c440e
5c4409:	48                   	dec    %eax
5c440a:	83 c8 f0             	or     $0xfffffff0,%eax
5c440d:	40                   	inc    %eax
5c440e:	83 f8 01             	cmp    $0x1,%eax
5c4411:	75 78                	jne    0x5c448b
5c4413:	83 c3 40             	add    $0x40,%ebx
5c4416:	8d 4a f8             	lea    -0x8(%edx),%ecx
5c4419:	83 3d f4 eb 6d 00 00 	cmpl   $0x0,0x6debf4
5c4420:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5c4423:	75 46                	jne    0x5c446b
5c4425:	50                   	push   %eax
5c4426:	68 00 20 00 00       	push   $0x2000
5c442b:	68 00 00 00 02       	push   $0x2000000
5c4430:	6a 00                	push   $0x0
5c4432:	ff 55 f4             	call   *-0xc(%ebp)
5c4435:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c4438:	a3 f4 eb 6d 00       	mov    %eax,0x6debf4
5c443d:	85 c0                	test   %eax,%eax
5c443f:	74 13                	je     0x5c4454
5c4441:	8d 88 00 00 00 02    	lea    0x2000000(%eax),%ecx
5c4447:	a3 f0 eb 6d 00       	mov    %eax,0x6debf0
5c444c:	89 0d f8 eb 6d 00    	mov    %ecx,0x6debf8
5c4452:	eb 14                	jmp    0x5c4468
5c4454:	c7 05 f8 eb 6d 00 00 	movl   $0x0,0x6debf8
5c445b:	00 00 00
5c445e:	c7 05 f0 eb 6d 00 00 	movl   $0x0,0x6debf0
5c4465:	00 00 00
5c4468:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c446b:	f6 c3 07             	test   $0x7,%bl
5c446e:	75 05                	jne    0x5c4475
5c4470:	83 fb 08             	cmp    $0x8,%ebx
5c4473:	73 01                	jae    0x5c4476
5c4475:	cc                   	int3
5c4476:	89 5a 08             	mov    %ebx,0x8(%edx)
5c4479:	33 c0                	xor    %eax,%eax
5c447b:	87 02                	xchg   %eax,(%edx)
5c447d:	c7 42 0c 00 00 00 00 	movl   $0x0,0xc(%edx)
5c4484:	47                   	inc    %edi
5c4485:	83 c2 38             	add    $0x38,%edx
5c4488:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c448b:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c448e:	89 0c b0             	mov    %ecx,(%eax,%esi,4)
5c4491:	8b 75 ec             	mov    -0x14(%ebp),%esi
5c4494:	81 fe c0 00 00 00    	cmp    $0xc0,%esi
5c449a:	0f 8c 50 ff ff ff    	jl     0x5c43f0
5c44a0:	81 fe 00 01 00 00    	cmp    $0x100,%esi
5c44a6:	0f 83 bc 00 00 00    	jae    0x5c4568
5c44ac:	8b 55 f8             	mov    -0x8(%ebp),%edx
5c44af:	8d 04 fd 00 00 00 00 	lea    0x0(,%edi,8),%eax
5c44b6:	2b c7                	sub    %edi,%eax
5c44b8:	8d 14 c2             	lea    (%edx,%eax,8),%edx
5c44bb:	81 c2 08 04 00 00    	add    $0x408,%edx
5c44c1:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c44c4:	8d 46 01             	lea    0x1(%esi),%eax
5c44c7:	89 45 ec             	mov    %eax,-0x14(%ebp)
5c44ca:	25 1f 00 00 80       	and    $0x8000001f,%eax
5c44cf:	79 05                	jns    0x5c44d6
5c44d1:	48                   	dec    %eax
5c44d2:	83 c8 e0             	or     $0xffffffe0,%eax
5c44d5:	40                   	inc    %eax
5c44d6:	83 f8 01             	cmp    $0x1,%eax
5c44d9:	75 78                	jne    0x5c4553
5c44db:	83 eb 80             	sub    $0xffffff80,%ebx
5c44de:	8d 4a f8             	lea    -0x8(%edx),%ecx
5c44e1:	83 3d f4 eb 6d 00 00 	cmpl   $0x0,0x6debf4
5c44e8:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5c44eb:	75 46                	jne    0x5c4533
5c44ed:	50                   	push   %eax
5c44ee:	68 00 20 00 00       	push   $0x2000
5c44f3:	68 00 00 00 02       	push   $0x2000000
5c44f8:	6a 00                	push   $0x0
5c44fa:	ff 55 f4             	call   *-0xc(%ebp)
5c44fd:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c4500:	a3 f4 eb 6d 00       	mov    %eax,0x6debf4
5c4505:	85 c0                	test   %eax,%eax
5c4507:	74 13                	je     0x5c451c
5c4509:	8d 88 00 00 00 02    	lea    0x2000000(%eax),%ecx
5c450f:	a3 f0 eb 6d 00       	mov    %eax,0x6debf0
5c4514:	89 0d f8 eb 6d 00    	mov    %ecx,0x6debf8
5c451a:	eb 14                	jmp    0x5c4530
5c451c:	c7 05 f8 eb 6d 00 00 	movl   $0x0,0x6debf8
5c4523:	00 00 00
5c4526:	c7 05 f0 eb 6d 00 00 	movl   $0x0,0x6debf0
5c452d:	00 00 00
5c4530:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c4533:	f6 c3 07             	test   $0x7,%bl
5c4536:	75 05                	jne    0x5c453d
5c4538:	83 fb 08             	cmp    $0x8,%ebx
5c453b:	73 01                	jae    0x5c453e
5c453d:	cc                   	int3
5c453e:	89 5a 08             	mov    %ebx,0x8(%edx)
5c4541:	33 c0                	xor    %eax,%eax
5c4543:	87 02                	xchg   %eax,(%edx)
5c4545:	c7 42 0c 00 00 00 00 	movl   $0x0,0xc(%edx)
5c454c:	47                   	inc    %edi
5c454d:	83 c2 38             	add    $0x38,%edx
5c4550:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c4553:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c4556:	89 0c b0             	mov    %ecx,(%eax,%esi,4)
5c4559:	8b 75 ec             	mov    -0x14(%ebp),%esi
5c455c:	81 fe 00 01 00 00    	cmp    $0x100,%esi
5c4562:	0f 8c 5c ff ff ff    	jl     0x5c44c4
5c4568:	81 fe 00 02 00 00    	cmp    $0x200,%esi
5c456e:	0f 83 cf 00 00 00    	jae    0x5c4643
5c4574:	8b 55 f8             	mov    -0x8(%ebp),%edx
5c4577:	8d 04 fd 00 00 00 00 	lea    0x0(,%edi,8),%eax
5c457e:	2b c7                	sub    %edi,%eax
5c4580:	8d 14 c2             	lea    (%edx,%eax,8),%edx
5c4583:	81 c2 08 04 00 00    	add    $0x408,%edx
5c4589:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c458c:	8d 64 24 00          	lea    0x0(%esp),%esp
5c4590:	81 fe 00 01 00 00    	cmp    $0x100,%esi
5c4596:	0f 8d b3 00 00 00    	jge    0x5c464f
5c459c:	8d 46 01             	lea    0x1(%esi),%eax
5c459f:	89 45 ec             	mov    %eax,-0x14(%ebp)
5c45a2:	25 3f 00 00 80       	and    $0x8000003f,%eax
5c45a7:	79 05                	jns    0x5c45ae
5c45a9:	48                   	dec    %eax
5c45aa:	83 c8 c0             	or     $0xffffffc0,%eax
5c45ad:	40                   	inc    %eax
5c45ae:	83 f8 01             	cmp    $0x1,%eax
5c45b1:	75 7b                	jne    0x5c462e
5c45b3:	81 c3 00 01 00 00    	add    $0x100,%ebx
5c45b9:	8d 4a f8             	lea    -0x8(%edx),%ecx
5c45bc:	83 3d f4 eb 6d 00 00 	cmpl   $0x0,0x6debf4
5c45c3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5c45c6:	75 46                	jne    0x5c460e
5c45c8:	50                   	push   %eax
5c45c9:	68 00 20 00 00       	push   $0x2000
5c45ce:	68 00 00 00 02       	push   $0x2000000
5c45d3:	6a 00                	push   $0x0
5c45d5:	ff 55 f4             	call   *-0xc(%ebp)
5c45d8:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c45db:	a3 f4 eb 6d 00       	mov    %eax,0x6debf4
5c45e0:	85 c0                	test   %eax,%eax
5c45e2:	74 13                	je     0x5c45f7
5c45e4:	8d 88 00 00 00 02    	lea    0x2000000(%eax),%ecx
5c45ea:	a3 f0 eb 6d 00       	mov    %eax,0x6debf0
5c45ef:	89 0d f8 eb 6d 00    	mov    %ecx,0x6debf8
5c45f5:	eb 14                	jmp    0x5c460b
5c45f7:	c7 05 f8 eb 6d 00 00 	movl   $0x0,0x6debf8
5c45fe:	00 00 00
5c4601:	c7 05 f0 eb 6d 00 00 	movl   $0x0,0x6debf0
5c4608:	00 00 00
5c460b:	8b 4d fc             	mov    -0x4(%ebp),%ecx