5920dc:	8b 87 08 0f 00 00    	mov    0xf08(%edi),%eax
5920e2:	85 c0                	test   %eax,%eax
5920e4:	0f 84 86 00 00 00    	je     0x592170
5920ea:	8b 74 24 54          	mov    0x54(%esp),%esi
5920ee:	8d af 04 0f 00 00    	lea    0xf04(%edi),%ebp
5920f4:	33 db                	xor    %ebx,%ebx
5920f6:	8b cd                	mov    %ebp,%ecx
5920f8:	85 f6                	test   %esi,%esi
5920fa:	74 31                	je     0x59212d
5920fc:	29 6c 24 14          	sub    %ebp,0x14(%esp)
592100:	8b d0                	mov    %eax,%edx
592102:	8b 6c 24 14          	mov    0x14(%esp),%ebp
592106:	8b c2                	mov    %edx,%eax
592108:	85 d2                	test   %edx,%edx
59210a:	74 1b                	je     0x592127
59210c:	8a 01                	mov    (%ecx),%al
59210e:	43                   	inc    %ebx
59210f:	88 04 29             	mov    %al,(%ecx,%ebp,1)
592112:	41                   	inc    %ecx
592113:	8b 87 08 0f 00 00    	mov    0xf08(%edi),%eax
592119:	48                   	dec    %eax
59211a:	89 87 08 0f 00 00    	mov    %eax,0xf08(%edi)
592120:	8b d0                	mov    %eax,%edx
592122:	83 ee 01             	sub    $0x1,%esi
592125:	75 df                	jne    0x592106
592127:	8d af 04 0f 00 00    	lea    0xf04(%edi),%ebp
59212d:	33 d2                	xor    %edx,%edx
59212f:	85 c0                	test   %eax,%eax
592131:	74 11                	je     0x592144
592133:	8a 01                	mov    (%ecx),%al
592135:	8d 49 01             	lea    0x1(%ecx),%ecx
592138:	88 04 2a             	mov    %al,(%edx,%ebp,1)
59213b:	42                   	inc    %edx
59213c:	3b 97 08 0f 00 00    	cmp    0xf08(%edi),%edx
592142:	72 ef                	jb     0x592133
592144:	8b 44 24 20          	mov    0x20(%esp),%eax
592148:	85 c0                	test   %eax,%eax
59214a:	74 06                	je     0x592152
59214c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
592152:	8b 44 24 24          	mov    0x24(%esp),%eax
592156:	5f                   	pop    %edi
592157:	5e                   	pop    %esi
592158:	5d                   	pop    %ebp
592159:	89 18                	mov    %ebx,(%eax)
59215b:	b8 01 00 00 00       	mov    $0x1,%eax
592160:	5b                   	pop    %ebx
592161:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
592165:	33 cc                	xor    %esp,%ecx
592167:	e8 ba f8 03 00       	call   0x5d1a26
59216c:	83 c4 30             	add    $0x30,%esp
59216f:	c3                   	ret
592170:	57                   	push   %edi
592171:	e8 ca df f5 ff       	call   0x4f0140
592176:	83 c4 04             	add    $0x4,%esp
592179:	85 c0                	test   %eax,%eax
59217b:	75 24                	jne    0x5921a1
59217d:	57                   	push   %edi
59217e:	e8 ad ce ff ff       	call   0x58f030
592183:	83 c4 04             	add    $0x4,%esp
592186:	85 c0                	test   %eax,%eax
592188:	74 17                	je     0x5921a1
59218a:	8b 47 18             	mov    0x18(%edi),%eax
59218d:	57                   	push   %edi
59218e:	ff d0                	call   *%eax
592190:	83 c4 04             	add    $0x4,%esp
592193:	85 c0                	test   %eax,%eax
592195:	0f 88 cf 07 00 00    	js     0x59296a
59219b:	0f 84 1c ff ff ff    	je     0x5920bd
5921a1:	33 c9                	xor    %ecx,%ecx
5921a3:	0f 1f 40 00          	nopl   0x0(%eax)
5921a7:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
5921ae:	00 00
5921b0:	8b af 5c 06 00 00    	mov    0x65c(%edi),%ebp
5921b6:	8d 9f f8 08 00 00    	lea    0x8f8(%edi),%ebx
5921bc:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5921c0:	c7 47 14 01 00 00 00 	movl   $0x1,0x14(%edi)
5921c7:	85 ed                	test   %ebp,%ebp
5921c9:	75 1f                	jne    0x5921ea
5921cb:	57                   	push   %edi
5921cc:	e8 bf f4 00 00       	call   0x5a1690
5921d1:	83 c4 04             	add    $0x4,%esp
5921d4:	85 c0                	test   %eax,%eax
5921d6:	0f 8e 8e 07 00 00    	jle    0x59296a
5921dc:	8b af 5c 06 00 00    	mov    0x65c(%edi),%ebp
5921e2:	85 ed                	test   %ebp,%ebp
5921e4:	0f 84 d5 04 00 00    	je     0x5926bf
5921ea:	33 f6                	xor    %esi,%esi
5921ec:	85 ed                	test   %ebp,%ebp
5921ee:	74 24                	je     0x592214
5921f0:	8d 43 20             	lea    0x20(%ebx),%eax
5921f3:	83 38 00             	cmpl   $0x0,(%eax)
5921f6:	74 1c                	je     0x592214
5921f8:	46                   	inc    %esi
5921f9:	83 c0 30             	add    $0x30,%eax
5921fc:	8b ce                	mov    %esi,%ecx
5921fe:	3b f5                	cmp    %ebp,%esi
592200:	72 f1                	jb     0x5921f3
592202:	3b cd                	cmp    %ebp,%ecx
592204:	75 0e                	jne    0x592214
592206:	c7 87 5c 06 00 00 00 	movl   $0x0,0x65c(%edi)
59220d:	00 00 00
592210:	33 ed                	xor    %ebp,%ebp
592212:	eb b3                	jmp    0x5921c7
592214:	8d 04 76             	lea    (%esi,%esi,2),%eax
592217:	c1 e0 04             	shl    $0x4,%eax
59221a:	03 d8                	add    %eax,%ebx
59221c:	83 bf 08 0f 00 00 00 	cmpl   $0x0,0xf08(%edi)
592223:	76 26                	jbe    0x59224b
592225:	83 7b 04 16          	cmpl   $0x16,0x4(%ebx)
592229:	74 20                	je     0x59224b
59222b:	8b 4f 04             	mov    0x4(%edi),%ecx
59222e:	8b 41 64             	mov    0x64(%ecx),%eax
592231:	f6 40 30 08          	testb  $0x8,0x30(%eax)
592235:	75 14                	jne    0x59224b
592237:	8b 01                	mov    (%ecx),%eax
592239:	3d 04 03 00 00       	cmp    $0x304,%eax
59223e:	7c 0b                	jl     0x59224b
592240:	3d 00 00 01 00       	cmp    $0x10000,%eax
592245:	0f 85 a6 04 00 00    	jne    0x5926f1
59224b:	83 7b 04 15          	cmpl   $0x15,0x4(%ebx)
59224f:	74 10                	je     0x592261
592251:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
592255:	74 0a                	je     0x592261
592257:	c7 87 34 0f 00 00 00 	movl   $0x0,0xf34(%edi)
59225e:	00 00 00
592261:	8b 47 7c             	mov    0x7c(%edi),%eax
592264:	83 b8 dc 00 00 00 00 	cmpl   $0x0,0xdc(%eax)
59226b:	74 0a                	je     0x592277
59226d:	83 7b 04 16          	cmpl   $0x16,0x4(%ebx)
592271:	0f 85 af 04 00 00    	jne    0x592726
592277:	f6 47 28 02          	testb  $0x2,0x28(%edi)
59227b:	0f 85 d9 06 00 00    	jne    0x59295a
592281:	8b 43 04             	mov    0x4(%ebx),%eax
592284:	8b 4c 24 48          	mov    0x48(%esp),%ecx
592288:	3b c8                	cmp    %eax,%ecx
59228a:	0f 84 28 03 00 00    	je     0x5925b8
592290:	83 f8 14             	cmp    $0x14,%eax
592293:	75 17                	jne    0x5922ac
592295:	83 f9 16             	cmp    $0x16,%ecx
592298:	75 12                	jne    0x5922ac
59229a:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
59229f:	74 0b                	je     0x5922ac
5922a1:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
5922a6:	0f 84 0c 03 00 00    	je     0x5925b8
5922ac:	8b 33                	mov    (%ebx),%esi
5922ae:	83 fe 02             	cmp    $0x2,%esi
5922b1:	0f 84 0d 06 00 00    	je     0x5928c4
5922b7:	8b 4f 04             	mov    0x4(%edi),%ecx
5922ba:	8b 11                	mov    (%ecx),%edx
5922bc:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
5922c2:	75 21                	jne    0x5922e5
5922c4:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
5922c8:	75 05                	jne    0x5922cf
5922ca:	83 f8 15             	cmp    $0x15,%eax
5922cd:	74 1f                	je     0x5922ee
5922cf:	68 c5 05 00 00       	push   $0x5c5
5922d4:	68 6c 6f 66 00       	push   $0x666f6c
5922d9:	89 37                	mov    %esi,(%edi)
5922db:	68 f4 00 00 00       	push   $0xf4
5922e0:	e9 1b 04 00 00       	jmp    0x592700
5922e5:	83 f8 15             	cmp    $0x15,%eax
5922e8:	0f 85 4b 01 00 00    	jne    0x592439
5922ee:	8b 43 14             	mov    0x14(%ebx),%eax
5922f1:	03 43 10             	add    0x10(%ebx),%eax
5922f4:	8b 4b 08             	mov    0x8(%ebx),%ecx
5922f7:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
5922fd:	0f 87 fe 04 00 00    	ja     0x592801
592303:	85 c9                	test   %ecx,%ecx
592305:	0f 84 f6 04 00 00    	je     0x592801
59230b:	0f b6 28             	movzbl (%eax),%ebp
59230e:	83 c1 ff             	add    $0xffffffff,%ecx
592311:	0f 84 ea 04 00 00    	je     0x592801
592317:	0f b6 70 01          	movzbl 0x1(%eax),%esi
59231b:	83 e9 01             	sub    $0x1,%ecx
59231e:	0f 85 dd 04 00 00    	jne    0x592801
592324:	8b 8f 84 00 00 00    	mov    0x84(%edi),%ecx
59232a:	85 c9                	test   %ecx,%ecx
59232c:	74 15                	je     0x592343
59232e:	ff b7 88 00 00 00    	push   0x88(%edi)
592334:	57                   	push   %edi
592335:	6a 02                	push   $0x2
592337:	50                   	push   %eax
592338:	6a 15                	push   $0x15
59233a:	ff 37                	push   (%edi)
59233c:	6a 00                	push   $0x0
59233e:	ff d1                	call   *%ecx
592340:	83 c4 1c             	add    $0x1c,%esp
592343:	8b 8f b4 04 00 00    	mov    0x4b4(%edi),%ecx
592349:	89 4c 24 10          	mov    %ecx,0x10(%esp)
59234d:	85 c9                	test   %ecx,%ecx
59234f:	75 22                	jne    0x592373
592351:	8b 87 d0 04 00 00    	mov    0x4d0(%edi),%eax
592357:	8b 88 a0 00 00 00    	mov    0xa0(%eax),%ecx
59235d:	89 4c 24 10          	mov    %ecx,0x10(%esp)
592361:	85 c9                	test   %ecx,%ecx
592363:	75 0e                	jne    0x592373
592365:	8b 44 24 18          	mov    0x18(%esp),%eax
592369:	8b c8                	mov    %eax,%ecx
59236b:	89 4c 24 10          	mov    %ecx,0x10(%esp)
59236f:	85 c0                	test   %eax,%eax
592371:	74 17                	je     0x59238a
592373:	8b c5                	mov    %ebp,%eax
592375:	c1 e0 08             	shl    $0x8,%eax
592378:	0b c6                	or     %esi,%eax
59237a:	50                   	push   %eax
59237b:	68 04 40 00 00       	push   $0x4004
592380:	57                   	push   %edi
592381:	ff d1                	call   *%ecx
592383:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
592387:	83 c4 0c             	add    $0xc,%esp
59238a:	8b 54 24 1c          	mov    0x1c(%esp),%edx
59238e:	83 fd 01             	cmp    $0x1,%ebp
592391:	74 09                	je     0x59239c
592393:	85 d2                	test   %edx,%edx
592395:	74 35                	je     0x5923cc
592397:	83 fe 5a             	cmp    $0x5a,%esi
59239a:	75 30                	jne    0x5923cc
59239c:	8b 47 7c             	mov    0x7c(%edi),%eax
59239f:	89 b0 e0 00 00 00    	mov    %esi,0xe0(%eax)
5923a5:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
5923ac:	ff 87 34 0f 00 00    	incl   0xf34(%edi)
5923b2:	83 bf 34 0f 00 00 05 	cmpl   $0x5,0xf34(%edi)
5923b9:	0f 84 2e 04 00 00    	je     0x5927ed
5923bf:	85 d2                	test   %edx,%edx
5923c1:	74 09                	je     0x5923cc
5923c3:	83 fe 5a             	cmp    $0x5a,%esi
5923c6:	0f 84 e4 fd ff ff    	je     0x5921b0
5923cc:	85 f6                	test   %esi,%esi
5923ce:	75 11                	jne    0x5923e1
5923d0:	85 d2                	test   %edx,%edx
5923d2:	0f 85 5f 03 00 00    	jne    0x592737
5923d8:	83 fd 01             	cmp    $0x1,%ebp
5923db:	0f 84 56 03 00 00    	je     0x592737
5923e1:	83 fd 02             	cmp    $0x2,%ebp
5923e4:	0f 84 7e 03 00 00    	je     0x592768
5923ea:	85 d2                	test   %edx,%edx
5923ec:	0f 85 76 03 00 00    	jne    0x592768
5923f2:	83 fe 64             	cmp    $0x64,%esi
5923f5:	0f 84 55 03 00 00    	je     0x592750
5923fb:	83 fd 01             	cmp    $0x1,%ebp
5923fe:	0f 84 ac fd ff ff    	je     0x5921b0
592404:	68 21 06 00 00       	push   $0x621
592409:	68 6c 6f 66 00       	push   $0x666f6c
59240e:	68 f6 00 00 00       	push   $0xf6
592413:	68 94 00 00 00       	push   $0x94
592418:	6a 2f                	push   $0x2f
59241a:	57                   	push   %edi
59241b:	e8 f0 cc ff ff       	call   0x58f110
592420:	83 c4 18             	add    $0x18,%esp
592423:	83 c8 ff             	or     $0xffffffff,%eax
592426:	5f                   	pop    %edi
592427:	5e                   	pop    %esi
592428:	5d                   	pop    %ebp
592429:	5b                   	pop    %ebx
59242a:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
59242e:	33 cc                	xor    %esp,%ecx
592430:	e8 f1 f5 03 00       	call   0x5d1a26
592435:	83 c4 30             	add    $0x30,%esp
592438:	c3                   	ret
592439:	f6 47 28 01          	testb  $0x1,0x28(%edi)
59243d:	74 3e                	je     0x59247d
59243f:	83 f8 16             	cmp    $0x16,%eax
592442:	0f 85 f4 03 00 00    	jne    0x59283c
592448:	8b 41 64             	mov    0x64(%ecx),%eax
59244b:	f6 40 30 08          	testb  $0x8,0x30(%eax)
59244f:	75 08                	jne    0x592459
592451:	81 fa 04 03 00 00    	cmp    $0x304,%edx
592457:	7d 29                	jge    0x592482
592459:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
592460:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
592467:	f6 87 f0 04 00 00 04 	testb  $0x4,0x4f0(%edi)
59246e:	0f 84 a1 03 00 00    	je     0x592815
592474:	8b 4c 24 10          	mov    0x10(%esp),%ecx
592478:	e9 33 fd ff ff       	jmp    0x5921b0
59247d:	83 f8 16             	cmp    $0x16,%eax
592480:	75 60                	jne    0x5924e2
592482:	8b 8f 08 0f 00 00    	mov    0xf08(%edi),%ecx
592488:	b8 04 00 00 00       	mov    $0x4,%eax
59248d:	8b 73 08             	mov    0x8(%ebx),%esi
592490:	2b c1                	sub    %ecx,%eax
592492:	3b f0                	cmp    %eax,%esi
592494:	0f 43 f0             	cmovae %eax,%esi
592497:	8b 43 14             	mov    0x14(%ebx),%eax
59249a:	03 43 10             	add    0x10(%ebx),%eax
59249d:	56                   	push   %esi
59249e:	50                   	push   %eax
59249f:	8d 81 04 0f 00 00    	lea    0xf04(%ecx),%eax
5924a5:	03 c7                	add    %edi,%eax
5924a7:	50                   	push   %eax
5924a8:	e8 23 09 04 00       	call   0x5d2dd0
5924ad:	01 73 10             	add    %esi,0x10(%ebx)
5924b0:	83 c4 0c             	add    $0xc,%esp
5924b3:	29 73 08             	sub    %esi,0x8(%ebx)
5924b6:	01 b7 08 0f 00 00    	add    %esi,0xf08(%edi)
5924bc:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
5924c0:	8b 87 08 0f 00 00    	mov    0xf08(%edi),%eax
5924c6:	75 0d                	jne    0x5924d5
5924c8:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
5924cf:	8b 87 08 0f 00 00    	mov    0xf08(%edi),%eax
5924d5:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5924d9:	83 f8 04             	cmp    $0x4,%eax
5924dc:	0f 82 ce fc ff ff    	jb     0x5921b0
5924e2:	83 7b 04 14          	cmpl   $0x14,0x4(%ebx)
5924e6:	0f 84 c4 03 00 00    	je     0x5928b0
5924ec:	83 bf 08 0f 00 00 04 	cmpl   $0x4,0xf08(%edi)
5924f3:	72 5b                	jb     0x592550
5924f5:	57                   	push   %edi
5924f6:	e8 45 dc f5 ff       	call   0x4f0140
5924fb:	83 c4 04             	add    $0x4,%esp
5924fe:	85 c0                	test   %eax,%eax
592500:	75 4e                	jne    0x592550
592502:	8b 77 68             	mov    0x68(%edi),%esi
592505:	6a 01                	push   $0x1
592507:	57                   	push   %edi
592508:	e8 93 cc ff ff       	call   0x58f1a0
59250d:	8b 47 18             	mov    0x18(%edi),%eax
592510:	57                   	push   %edi
592511:	ff d0                	call   *%eax
592513:	83 c4 0c             	add    $0xc,%esp
592516:	85 c0                	test   %eax,%eax
592518:	0f 88 4c 04 00 00    	js     0x59296a
59251e:	0f 84 99 fb ff ff    	je     0x5920bd
592524:	83 fe 0b             	cmp    $0xb,%esi
592527:	0f 84 90 fb ff ff    	je     0x5920bd
59252d:	f6 87 f0 04 00 00 04 	testb  $0x4,0x4f0(%edi)
592534:	8b 4c 24 10          	mov    0x10(%esp),%ecx
592538:	0f 85 72 fc ff ff    	jne    0x5921b0
59253e:	83 bf 74 06 00 00 00 	cmpl   $0x0,0x674(%edi)
592545:	0f 84 ca 02 00 00    	je     0x592815
59254b:	e9 60 fc ff ff       	jmp    0x5921b0
592550:	8b 43 04             	mov    0x4(%ebx),%eax
592553:	83 f8 14             	cmp    $0x14,%eax
592556:	0f 8c 40 03 00 00    	jl     0x59289c
59255c:	83 f8 16             	cmp    $0x16,%eax
59255f:	0f 8e 26 03 00 00    	jle    0x59288b
592565:	83 f8 17             	cmp    $0x17,%eax
592568:	0f 85 2e 03 00 00    	jne    0x59289c
59256e:	57                   	push   %edi
59256f:	e8 fc ca ff ff       	call   0x58f070
592574:	83 c4 04             	add    $0x4,%esp
592577:	85 c0                	test   %eax,%eax
592579:	0f 85 fa 02 00 00    	jne    0x592879
59257f:	57                   	push   %edi
592580:	e8 4b cc ff ff       	call   0x58f1d0
592585:	83 c4 04             	add    $0x4,%esp
592588:	85 c0                	test   %eax,%eax
59258a:	0f 84 d5 02 00 00    	je     0x592865
592590:	6a 00                	push   $0x0
592592:	6a 68                	push   $0x68
592594:	ff 73 08             	push   0x8(%ebx)