4c6227:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4c622a:	57                   	push   %edi
4c622b:	56                   	push   %esi
4c622c:	e8 bf 7d ff ff       	call   0x4bdff0
4c6231:	8b f0                	mov    %eax,%esi
4c6233:	85 f6                	test   %esi,%esi
4c6235:	0f 84 62 fc ff ff    	je     0x4c5e9d
4c623b:	ff 47 44             	incl   0x44(%edi)
4c623e:	83 7f 3c 00          	cmpl   $0x0,0x3c(%edi)
4c6242:	0f 85 55 fc ff ff    	jne    0x4c5e9d
4c6248:	2b 5d f0             	sub    -0x10(%ebp),%ebx
4c624b:	b8 00 00 00 00       	mov    $0x0,%eax
4c6250:	01 5f 10             	add    %ebx,0x10(%edi)
4c6253:	0f 48 47 10          	cmovs  0x10(%edi),%eax
4c6257:	03 47 04             	add    0x4(%edi),%eax
4c625a:	89 07                	mov    %eax,(%edi)
4c625c:	e9 61 fb ff ff       	jmp    0x4c5dc2
4c6261:	80 fb 42             	cmp    $0x42,%bl
4c6264:	0f 85 49 02 00 00    	jne    0x4c64b3
4c626a:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c626d:	4e                   	dec    %esi
4c626e:	66 90                	xchg   %ax,%ax
4c6270:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
4c6273:	46                   	inc    %esi
4c6274:	85 c9                	test   %ecx,%ecx
4c6276:	74 1d                	je     0x4c6295
4c6278:	8b 53 64             	mov    0x64(%ebx),%edx
4c627b:	8b 01                	mov    (%ecx),%eax
4c627d:	3b d0                	cmp    %eax,%edx
4c627f:	7d 0f                	jge    0x4c6290
4c6281:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
4c6285:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c6288:	8d 42 01             	lea    0x1(%edx),%eax
4c628b:	89 43 64             	mov    %eax,0x64(%ebx)
4c628e:	eb 37                	jmp    0x4c62c7
4c6290:	3b 43 68             	cmp    0x68(%ebx),%eax
4c6293:	75 12                	jne    0x4c62a7
4c6295:	8b 43 68             	mov    0x68(%ebx),%eax
4c6298:	8d 4b 60             	lea    0x60(%ebx),%ecx
4c629b:	40                   	inc    %eax
4c629c:	50                   	push   %eax
4c629d:	e8 ee 75 f9 ff       	call   0x45d890
4c62a2:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
4c62a5:	8b 01                	mov    (%ecx),%eax
4c62a7:	40                   	inc    %eax
4c62a8:	89 01                	mov    %eax,(%ecx)
4c62aa:	ff 73 60             	push   0x60(%ebx)
4c62ad:	e8 4e 18 00 00       	call   0x4c7b00
4c62b2:	8b 4b 64             	mov    0x64(%ebx),%ecx
4c62b5:	8b d0                	mov    %eax,%edx
4c62b7:	8b 43 6c             	mov    0x6c(%ebx),%eax
4c62ba:	83 c4 04             	add    $0x4,%esp
4c62bd:	89 55 fc             	mov    %edx,-0x4(%ebp)
4c62c0:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
4c62c4:	ff 43 64             	incl   0x64(%ebx)
4c62c7:	0f b6 06             	movzbl (%esi),%eax
4c62ca:	3d 80 00 00 00       	cmp    $0x80,%eax
4c62cf:	73 03                	jae    0x4c62d4
4c62d1:	46                   	inc    %esi
4c62d2:	eb 14                	jmp    0x4c62e8
4c62d4:	50                   	push   %eax
4c62d5:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4c62d8:	56                   	push   %esi
4c62d9:	50                   	push   %eax
4c62da:	e8 91 95 f9 ff       	call   0x45f870
4c62df:	8b 75 c4             	mov    -0x3c(%ebp),%esi
4c62e2:	83 c4 0c             	add    $0xc,%esp
4c62e5:	8b 45 c8             	mov    -0x38(%ebp),%eax
4c62e8:	85 f6                	test   %esi,%esi
4c62ea:	0f 84 ad fb ff ff    	je     0x4c5e9d
4c62f0:	2b 47 04             	sub    0x4(%edi),%eax
4c62f3:	8d 14 30             	lea    (%eax,%esi,1),%edx
4c62f6:	33 c0                	xor    %eax,%eax
4c62f8:	85 d2                	test   %edx,%edx
4c62fa:	89 55 f0             	mov    %edx,-0x10(%ebp)
4c62fd:	0f 48 c2             	cmovs  %edx,%eax
4c6300:	03 47 04             	add    0x4(%edi),%eax
4c6303:	83 47 44 ff          	addl   $0xffffffff,0x44(%edi)
4c6307:	89 07                	mov    %eax,(%edi)
4c6309:	8b 47 10             	mov    0x10(%edi),%eax
4c630c:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c630f:	89 57 10             	mov    %edx,0x10(%edi)
4c6312:	0f 88 85 fb ff ff    	js     0x4c5e9d
4c6318:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c631b:	57                   	push   %edi
4c631c:	56                   	push   %esi
4c631d:	e8 ce 36 ff ff       	call   0x4b99f0
4c6322:	8b f0                	mov    %eax,%esi
4c6324:	85 f6                	test   %esi,%esi
4c6326:	0f 84 71 fb ff ff    	je     0x4c5e9d
4c632c:	ff 47 44             	incl   0x44(%edi)
4c632f:	83 7f 3c 00          	cmpl   $0x0,0x3c(%edi)
4c6333:	0f 85 64 fb ff ff    	jne    0x4c5e9d
4c6339:	8b 45 f4             	mov    -0xc(%ebp),%eax
4c633c:	b9 00 00 00 00       	mov    $0x0,%ecx
4c6341:	2b 45 f0             	sub    -0x10(%ebp),%eax
4c6344:	01 47 10             	add    %eax,0x10(%edi)
4c6347:	8b 47 04             	mov    0x4(%edi),%eax
4c634a:	0f 48 4f 10          	cmovs  0x10(%edi),%ecx
4c634e:	03 c1                	add    %ecx,%eax
4c6350:	89 07                	mov    %eax,(%edi)
4c6352:	3b f0                	cmp    %eax,%esi
4c6354:	0f 83 68 fa ff ff    	jae    0x4c5dc2
4c635a:	80 3e 42             	cmpb   $0x42,(%esi)
4c635d:	0f 84 0d ff ff ff    	je     0x4c6270
4c6363:	e9 5a fa ff ff       	jmp    0x4c5dc2
4c6368:	80 fb 4a             	cmp    $0x4a,%bl
4c636b:	0f 85 42 01 00 00    	jne    0x4c64b3
4c6371:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c6374:	4e                   	dec    %esi
4c6375:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
4c6378:	46                   	inc    %esi
4c6379:	85 c9                	test   %ecx,%ecx
4c637b:	74 1d                	je     0x4c639a
4c637d:	8b 53 74             	mov    0x74(%ebx),%edx
4c6380:	8b 01                	mov    (%ecx),%eax
4c6382:	3b d0                	cmp    %eax,%edx
4c6384:	7d 0f                	jge    0x4c6395
4c6386:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
4c638a:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c638d:	8d 42 01             	lea    0x1(%edx),%eax
4c6390:	89 43 74             	mov    %eax,0x74(%ebx)
4c6393:	eb 37                	jmp    0x4c63cc
4c6395:	3b 43 78             	cmp    0x78(%ebx),%eax
4c6398:	75 12                	jne    0x4c63ac
4c639a:	8b 43 78             	mov    0x78(%ebx),%eax
4c639d:	8d 4b 70             	lea    0x70(%ebx),%ecx
4c63a0:	40                   	inc    %eax
4c63a1:	50                   	push   %eax
4c63a2:	e8 e9 74 f9 ff       	call   0x45d890
4c63a7:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
4c63aa:	8b 01                	mov    (%ecx),%eax
4c63ac:	40                   	inc    %eax
4c63ad:	89 01                	mov    %eax,(%ecx)
4c63af:	ff 73 70             	push   0x70(%ebx)
4c63b2:	e8 69 0b 00 00       	call   0x4c6f20
4c63b7:	8b 4b 74             	mov    0x74(%ebx),%ecx
4c63ba:	8b d0                	mov    %eax,%edx
4c63bc:	8b 43 7c             	mov    0x7c(%ebx),%eax
4c63bf:	83 c4 04             	add    $0x4,%esp
4c63c2:	89 55 fc             	mov    %edx,-0x4(%ebp)
4c63c5:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
4c63c9:	ff 43 74             	incl   0x74(%ebx)
4c63cc:	0f b6 06             	movzbl (%esi),%eax
4c63cf:	3d 80 00 00 00       	cmp    $0x80,%eax
4c63d4:	73 03                	jae    0x4c63d9
4c63d6:	46                   	inc    %esi
4c63d7:	eb 14                	jmp    0x4c63ed
4c63d9:	50                   	push   %eax
4c63da:	8d 45 bc             	lea    -0x44(%ebp),%eax
4c63dd:	56                   	push   %esi
4c63de:	50                   	push   %eax
4c63df:	e8 8c 94 f9 ff       	call   0x45f870
4c63e4:	8b 75 bc             	mov    -0x44(%ebp),%esi
4c63e7:	83 c4 0c             	add    $0xc,%esp
4c63ea:	8b 45 c0             	mov    -0x40(%ebp),%eax
4c63ed:	85 f6                	test   %esi,%esi
4c63ef:	0f 84 a8 fa ff ff    	je     0x4c5e9d
4c63f5:	2b 47 04             	sub    0x4(%edi),%eax
4c63f8:	8d 14 30             	lea    (%eax,%esi,1),%edx
4c63fb:	33 c0                	xor    %eax,%eax
4c63fd:	85 d2                	test   %edx,%edx
4c63ff:	89 55 f0             	mov    %edx,-0x10(%ebp)
4c6402:	0f 48 c2             	cmovs  %edx,%eax
4c6405:	03 47 04             	add    0x4(%edi),%eax
4c6408:	83 47 44 ff          	addl   $0xffffffff,0x44(%edi)
4c640c:	89 07                	mov    %eax,(%edi)
4c640e:	8b 47 10             	mov    0x10(%edi),%eax
4c6411:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c6414:	89 57 10             	mov    %edx,0x10(%edi)
4c6417:	0f 88 80 fa ff ff    	js     0x4c5e9d
4c641d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c6420:	57                   	push   %edi
4c6421:	56                   	push   %esi
4c6422:	e8 b9 3b ff ff       	call   0x4b9fe0
4c6427:	8b f0                	mov    %eax,%esi
4c6429:	85 f6                	test   %esi,%esi
4c642b:	0f 84 6c fa ff ff    	je     0x4c5e9d
4c6431:	ff 47 44             	incl   0x44(%edi)
4c6434:	83 7f 3c 00          	cmpl   $0x0,0x3c(%edi)
4c6438:	0f 85 5f fa ff ff    	jne    0x4c5e9d
4c643e:	8b 45 f4             	mov    -0xc(%ebp),%eax
4c6441:	b9 00 00 00 00       	mov    $0x0,%ecx
4c6446:	2b 45 f0             	sub    -0x10(%ebp),%eax
4c6449:	01 47 10             	add    %eax,0x10(%edi)
4c644c:	8b 47 04             	mov    0x4(%edi),%eax
4c644f:	0f 48 4f 10          	cmovs  0x10(%edi),%ecx
4c6453:	03 c1                	add    %ecx,%eax
4c6455:	89 07                	mov    %eax,(%edi)
4c6457:	3b f0                	cmp    %eax,%esi
4c6459:	0f 83 63 f9 ff ff    	jae    0x4c5dc2
4c645f:	80 3e 4a             	cmpb   $0x4a,(%esi)
4c6462:	0f 84 0d ff ff ff    	je     0x4c6375
4c6468:	e9 55 f9 ff ff       	jmp    0x4c5dc2
4c646d:	80 fb 52             	cmp    $0x52,%bl
4c6470:	75 41                	jne    0x4c64b3
4c6472:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c6475:	4e                   	dec    %esi
4c6476:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
4c647d:	00 00 00
4c6480:	8d 8b 80 00 00 00    	lea    0x80(%ebx),%ecx
4c6486:	e8 65 6c f9 ff       	call   0x45d0f0
4c648b:	57                   	push   %edi
4c648c:	46                   	inc    %esi
4c648d:	56                   	push   %esi
4c648e:	50                   	push   %eax
4c648f:	e8 5c 8c f9 ff       	call   0x45f0f0
4c6494:	8b f0                	mov    %eax,%esi
4c6496:	83 c4 0c             	add    $0xc,%esp
4c6499:	85 f6                	test   %esi,%esi
4c649b:	0f 84 fc f9 ff ff    	je     0x4c5e9d
4c64a1:	3b 37                	cmp    (%edi),%esi
4c64a3:	0f 83 1d f9 ff ff    	jae    0x4c5dc6
4c64a9:	80 3e 52             	cmpb   $0x52,(%esi)
4c64ac:	74 d2                	je     0x4c6480
4c64ae:	e9 0f f9 ff ff       	jmp    0x4c5dc2
4c64b3:	8b c3                	mov    %ebx,%eax
4c64b5:	24 07                	and    $0x7,%al
4c64b7:	3c 04                	cmp    $0x4,%al
4c64b9:	74 5d                	je     0x4c6518
4c64bb:	85 db                	test   %ebx,%ebx
4c64bd:	74 59                	je     0x4c6518
4c64bf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c64c2:	83 c1 04             	add    $0x4,%ecx
4c64c5:	f6 01 01             	testb  $0x1,(%ecx)
4c64c8:	74 1b                	je     0x4c64e5
4c64ca:	8b 01                	mov    (%ecx),%eax
4c64cc:	57                   	push   %edi
4c64cd:	83 e0 fc             	and    $0xfffffffc,%eax
4c64d0:	56                   	push   %esi
4c64d1:	83 c0 04             	add    $0x4,%eax
4c64d4:	50                   	push   %eax
4c64d5:	6a 00                	push   $0x0
4c64d7:	53                   	push   %ebx
4c64d8:	e8 d3 aa f9 ff       	call   0x460fb0
4c64dd:	83 c4 14             	add    $0x14,%esp
4c64e0:	e9 ae f9 ff ff       	jmp    0x4c5e93
4c64e5:	e8 46 a7 f8 ff       	call   0x450c30
4c64ea:	57                   	push   %edi
4c64eb:	56                   	push   %esi
4c64ec:	50                   	push   %eax
4c64ed:	6a 00                	push   $0x0
4c64ef:	53                   	push   %ebx
4c64f0:	e8 bb aa f9 ff       	call   0x460fb0
4c64f5:	83 c4 14             	add    $0x14,%esp
4c64f8:	e9 96 f9 ff ff       	jmp    0x4c5e93
4c64fd:	85 c0                	test   %eax,%eax
4c64ff:	0f 8e 9a f9 ff ff    	jle    0x4c5e9f
4c6505:	33 c0                	xor    %eax,%eax
4c6507:	39 47 08             	cmp    %eax,0x8(%edi)
4c650a:	5f                   	pop    %edi
4c650b:	0f 44 f0             	cmove  %eax,%esi
4c650e:	8b c6                	mov    %esi,%eax
4c6510:	5e                   	pop    %esi
4c6511:	5b                   	pop    %ebx
4c6512:	8b e5                	mov    %ebp,%esp
4c6514:	5d                   	pop    %ebp
4c6515:	c2 08 00             	ret    $0x8
4c6518:	8d 43 ff             	lea    -0x1(%ebx),%eax
4c651b:	89 47 3c             	mov    %eax,0x3c(%edi)
4c651e:	8b c6                	mov    %esi,%eax
4c6520:	5f                   	pop    %edi
4c6521:	5e                   	pop    %esi
4c6522:	5b                   	pop    %ebx
4c6523:	8b e5                	mov    %ebp,%esp
4c6525:	5d                   	pop    %ebp
4c6526:	c2 08 00             	ret    $0x8
4c6529:	0f 1f 00             	nopl   (%eax)
4c652c:	47                   	inc    %edi
4c652d:	5e                   	pop    %esi
4c652e:	4c                   	dec    %esp
4c652f:	00 aa 5e 4c 00 2a    	add    %ch,0x2a004c5e(%edx)
4c6535:	5f                   	pop    %edi
4c6536:	4c                   	dec    %esp
4c6537:	00 ae 5f 4c 00 37    	add    %ch,0x37004c5f(%esi)
4c653d:	60                   	pusha
4c653e:	4c                   	dec    %esp
4c653f:	00 3c 61             	add    %bh,(%ecx,%eiz,2)
4c6542:	4c                   	dec    %esp
4c6543:	00 c7                	add    %al,%bh
4c6545:	61                   	popa
4c6546:	4c                   	dec    %esp
4c6547:	00 61 62             	add    %ah,0x62(%ecx)
4c654a:	4c                   	dec    %esp
4c654b:	00 68 63             	add    %ch,0x63(%eax)
4c654e:	4c                   	dec    %esp
4c654f:	00 6d 64             	add    %ch,0x64(%ebp)
4c6552:	4c                   	dec    %esp
4c6553:	00 cc                	add    %cl,%ah
4c6555:	cc                   	int3
4c6556:	cc                   	int3
4c6557:	cc                   	int3
4c6558:	cc                   	int3
4c6559:	cc                   	int3
4c655a:	cc                   	int3
4c655b:	cc                   	int3
4c655c:	cc                   	int3
4c655d:	cc                   	int3
4c655e:	cc                   	int3
4c655f:	cc                   	int3
4c6560:	55                   	push   %ebp
4c6561:	8b ec                	mov    %esp,%ebp
4c6563:	83 ec 14             	sub    $0x14,%esp
4c6566:	53                   	push   %ebx
4c6567:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4c656a:	56                   	push   %esi
4c656b:	8b 75 08             	mov    0x8(%ebp),%esi
4c656e:	57                   	push   %edi
4c656f:	8b f9                	mov    %ecx,%edi
4c6571:	89 7d f4             	mov    %edi,-0xc(%ebp)
4c6574:	8b 47 08             	mov    0x8(%edi),%eax
4c6577:	89 45 f0             	mov    %eax,-0x10(%ebp)
4c657a:	a8 01                	test   $0x1,%al
4c657c:	74 16                	je     0x4c6594
4c657e:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4c6584:	8b cb                	mov    %ebx,%ecx
4c6586:	56                   	push   %esi
4c6587:	83 e0 fe             	and    $0xfffffffe,%eax
4c658a:	50                   	push   %eax
4c658b:	6a 01                	push   $0x1
4c658d:	e8 5e b5 f8 ff       	call   0x451af0
4c6592:	8b f0                	mov    %eax,%esi
4c6594:	8b 47 14             	mov    0x14(%edi),%eax
4c6597:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4c659e:	89 45 f8             	mov    %eax,-0x8(%ebp)
4c65a1:	85 c0                	test   %eax,%eax
4c65a3:	74 47                	je     0x4c65ec
4c65a5:	3b 33                	cmp    (%ebx),%esi
4c65a7:	72 0a                	jb     0x4c65b3
4c65a9:	56                   	push   %esi
4c65aa:	8b cb                	mov    %ebx,%ecx
4c65ac:	e8 bf 2f f9 ff       	call   0x459570
4c65b1:	8b f0                	mov    %eax,%esi
4c65b3:	8b 47 1c             	mov    0x1c(%edi),%eax
4c65b6:	8b 7d fc             	mov    -0x4(%ebp),%edi
4c65b9:	56                   	push   %esi
4c65ba:	6a 12                	push   $0x12
4c65bc:	8b 7c b8 04          	mov    0x4(%eax,%edi,4),%edi
4c65c0:	e8 fb a4 f8 ff       	call   0x450ac0
4c65c5:	8b 57 0c             	mov    0xc(%edi),%edx
4c65c8:	50                   	push   %eax
4c65c9:	52                   	push   %edx
4c65ca:	e8 f1 a4 f8 ff       	call   0x450ac0
4c65cf:	83 c4 10             	add    $0x10,%esp
4c65d2:	8b cf                	mov    %edi,%ecx
4c65d4:	53                   	push   %ebx
4c65d5:	50                   	push   %eax
4c65d6:	e8 b5 2e ff ff       	call   0x4b9490
4c65db:	8b 7d f4             	mov    -0xc(%ebp),%edi
4c65de:	8b f0                	mov    %eax,%esi