4c6016:	e8 05 2c 00 00       	call   0x4c8c20
4c601b:	8b f0                	mov    %eax,%esi
4c601d:	85 f6                	test   %esi,%esi
4c601f:	0f 84 78 fe ff ff    	je     0x4c5e9d
4c6025:	3b 37                	cmp    (%edi),%esi
4c6027:	0f 83 99 fd ff ff    	jae    0x4c5dc6
4c602d:	80 3e 22             	cmpb   $0x22,(%esi)
4c6030:	74 8e                	je     0x4c5fc0
4c6032:	e9 8b fd ff ff       	jmp    0x4c5dc2
4c6037:	80 fb 2a             	cmp    $0x2a,%bl
4c603a:	0f 85 73 04 00 00    	jne    0x4c64b3
4c6040:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c6043:	4e                   	dec    %esi
4c6044:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
4c6047:	46                   	inc    %esi
4c6048:	85 c9                	test   %ecx,%ecx
4c604a:	74 1d                	je     0x4c6069
4c604c:	8b 53 44             	mov    0x44(%ebx),%edx
4c604f:	8b 01                	mov    (%ecx),%eax
4c6051:	3b d0                	cmp    %eax,%edx
4c6053:	7d 0f                	jge    0x4c6064
4c6055:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
4c6059:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c605c:	8d 42 01             	lea    0x1(%edx),%eax
4c605f:	89 43 44             	mov    %eax,0x44(%ebx)
4c6062:	eb 37                	jmp    0x4c609b
4c6064:	3b 43 48             	cmp    0x48(%ebx),%eax
4c6067:	75 12                	jne    0x4c607b
4c6069:	8b 43 48             	mov    0x48(%ebx),%eax
4c606c:	8d 4b 40             	lea    0x40(%ebx),%ecx
4c606f:	40                   	inc    %eax
4c6070:	50                   	push   %eax
4c6071:	e8 1a 78 f9 ff       	call   0x45d890
4c6076:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
4c6079:	8b 01                	mov    (%ecx),%eax
4c607b:	40                   	inc    %eax
4c607c:	89 01                	mov    %eax,(%ecx)
4c607e:	ff 73 40             	push   0x40(%ebx)
4c6081:	e8 1a 0e 00 00       	call   0x4c6ea0
4c6086:	8b 4b 44             	mov    0x44(%ebx),%ecx
4c6089:	8b d0                	mov    %eax,%edx
4c608b:	8b 43 4c             	mov    0x4c(%ebx),%eax
4c608e:	83 c4 04             	add    $0x4,%esp
4c6091:	89 55 fc             	mov    %edx,-0x4(%ebp)
4c6094:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
4c6098:	ff 43 44             	incl   0x44(%ebx)
4c609b:	0f b6 06             	movzbl (%esi),%eax
4c609e:	3d 80 00 00 00       	cmp    $0x80,%eax
4c60a3:	73 03                	jae    0x4c60a8
4c60a5:	46                   	inc    %esi
4c60a6:	eb 14                	jmp    0x4c60bc
4c60a8:	50                   	push   %eax
4c60a9:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4c60ac:	56                   	push   %esi
4c60ad:	50                   	push   %eax
4c60ae:	e8 bd 97 f9 ff       	call   0x45f870
4c60b3:	8b 75 d4             	mov    -0x2c(%ebp),%esi
4c60b6:	83 c4 0c             	add    $0xc,%esp
4c60b9:	8b 45 d8             	mov    -0x28(%ebp),%eax
4c60bc:	85 f6                	test   %esi,%esi
4c60be:	0f 84 d9 fd ff ff    	je     0x4c5e9d
4c60c4:	2b 47 04             	sub    0x4(%edi),%eax
4c60c7:	8d 14 30             	lea    (%eax,%esi,1),%edx
4c60ca:	33 c0                	xor    %eax,%eax
4c60cc:	85 d2                	test   %edx,%edx
4c60ce:	89 55 f4             	mov    %edx,-0xc(%ebp)
4c60d1:	0f 48 c2             	cmovs  %edx,%eax
4c60d4:	03 47 04             	add    0x4(%edi),%eax
4c60d7:	83 47 44 ff          	addl   $0xffffffff,0x44(%edi)
4c60db:	89 07                	mov    %eax,(%edi)
4c60dd:	8b 47 10             	mov    0x10(%edi),%eax
4c60e0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4c60e3:	89 57 10             	mov    %edx,0x10(%edi)
4c60e6:	0f 88 b1 fd ff ff    	js     0x4c5e9d
4c60ec:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c60ef:	57                   	push   %edi
4c60f0:	56                   	push   %esi
4c60f1:	e8 4a ee ff ff       	call   0x4c4f40
4c60f6:	8b f0                	mov    %eax,%esi
4c60f8:	85 f6                	test   %esi,%esi
4c60fa:	0f 84 9d fd ff ff    	je     0x4c5e9d
4c6100:	ff 47 44             	incl   0x44(%edi)
4c6103:	83 7f 3c 00          	cmpl   $0x0,0x3c(%edi)
4c6107:	0f 85 90 fd ff ff    	jne    0x4c5e9d
4c610d:	8b 45 f0             	mov    -0x10(%ebp),%eax
4c6110:	b9 00 00 00 00       	mov    $0x0,%ecx
4c6115:	2b 45 f4             	sub    -0xc(%ebp),%eax
4c6118:	01 47 10             	add    %eax,0x10(%edi)
4c611b:	8b 47 04             	mov    0x4(%edi),%eax
4c611e:	0f 48 4f 10          	cmovs  0x10(%edi),%ecx
4c6122:	03 c1                	add    %ecx,%eax
4c6124:	89 07                	mov    %eax,(%edi)
4c6126:	3b f0                	cmp    %eax,%esi
4c6128:	0f 83 94 fc ff ff    	jae    0x4c5dc2
4c612e:	80 3e 2a             	cmpb   $0x2a,(%esi)
4c6131:	0f 84 0d ff ff ff    	je     0x4c6044
4c6137:	e9 86 fc ff ff       	jmp    0x4c5dc2
4c613c:	80 fb 32             	cmp    $0x32,%bl
4c613f:	0f 85 6e 03 00 00    	jne    0x4c64b3
4c6145:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c6148:	4e                   	dec    %esi
4c6149:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4c6150:	8b 43 5c             	mov    0x5c(%ebx),%eax
4c6153:	46                   	inc    %esi
4c6154:	85 c0                	test   %eax,%eax
4c6156:	74 20                	je     0x4c6178
4c6158:	8b 4b 54             	mov    0x54(%ebx),%ecx
4c615b:	8b 10                	mov    (%eax),%edx
4c615d:	3b ca                	cmp    %edx,%ecx
4c615f:	7d 12                	jge    0x4c6173
4c6161:	8b 44 88 04          	mov    0x4(%eax,%ecx,4),%eax
4c6165:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c6168:	8d 41 01             	lea    0x1(%ecx),%eax
4c616b:	89 43 54             	mov    %eax,0x54(%ebx)
4c616e:	8b 45 f4             	mov    -0xc(%ebp),%eax
4c6171:	eb 2f                	jmp    0x4c61a2
4c6173:	3b 53 58             	cmp    0x58(%ebx),%edx
4c6176:	75 10                	jne    0x4c6188
4c6178:	8b 43 58             	mov    0x58(%ebx),%eax
4c617b:	8d 4b 50             	lea    0x50(%ebx),%ecx
4c617e:	40                   	inc    %eax
4c617f:	50                   	push   %eax
4c6180:	e8 0b 77 f9 ff       	call   0x45d890
4c6185:	8b 43 5c             	mov    0x5c(%ebx),%eax
4c6188:	ff 00                	incl   (%eax)
4c618a:	ff 73 50             	push   0x50(%ebx)
4c618d:	e8 5e 12 00 00       	call   0x4c73f0
4c6192:	8b 53 54             	mov    0x54(%ebx),%edx
4c6195:	83 c4 04             	add    $0x4,%esp
4c6198:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
4c619b:	89 44 91 04          	mov    %eax,0x4(%ecx,%edx,4)
4c619f:	ff 43 54             	incl   0x54(%ebx)
4c61a2:	56                   	push   %esi
4c61a3:	50                   	push   %eax
4c61a4:	8b cf                	mov    %edi,%ecx
4c61a6:	e8 25 2b 00 00       	call   0x4c8cd0
4c61ab:	8b f0                	mov    %eax,%esi
4c61ad:	85 f6                	test   %esi,%esi
4c61af:	0f 84 e8 fc ff ff    	je     0x4c5e9d
4c61b5:	3b 37                	cmp    (%edi),%esi
4c61b7:	0f 83 09 fc ff ff    	jae    0x4c5dc6
4c61bd:	80 3e 32             	cmpb   $0x32,(%esi)
4c61c0:	74 8e                	je     0x4c6150
4c61c2:	e9 fb fb ff ff       	jmp    0x4c5dc2
4c61c7:	80 fb 3a             	cmp    $0x3a,%bl
4c61ca:	0f 85 e3 02 00 00    	jne    0x4c64b3
4c61d0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c61d3:	e8 78 63 00 00       	call   0x4cc550
4c61d8:	0f b6 16             	movzbl (%esi),%edx
4c61db:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c61de:	81 fa 80 00 00 00    	cmp    $0x80,%edx
4c61e4:	73 03                	jae    0x4c61e9
4c61e6:	46                   	inc    %esi
4c61e7:	eb 14                	jmp    0x4c61fd
4c61e9:	52                   	push   %edx
4c61ea:	8d 45 cc             	lea    -0x34(%ebp),%eax
4c61ed:	56                   	push   %esi
4c61ee:	50                   	push   %eax
4c61ef:	e8 7c 96 f9 ff       	call   0x45f870
4c61f4:	8b 75 cc             	mov    -0x34(%ebp),%esi
4c61f7:	83 c4 0c             	add    $0xc,%esp
4c61fa:	8b 55 d0             	mov    -0x30(%ebp),%edx
4c61fd:	85 f6                	test   %esi,%esi
4c61ff:	0f 84 98 fc ff ff    	je     0x4c5e9d
4c6205:	2b 57 04             	sub    0x4(%edi),%edx
4c6208:	33 c0                	xor    %eax,%eax
4c620a:	8b 5f 10             	mov    0x10(%edi),%ebx
4c620d:	03 d6                	add    %esi,%edx
4c620f:	89 55 f0             	mov    %edx,-0x10(%ebp)
4c6212:	0f 48 c2             	cmovs  %edx,%eax
4c6215:	89 57 10             	mov    %edx,0x10(%edi)
4c6218:	03 47 04             	add    0x4(%edi),%eax
4c621b:	83 47 44 ff          	addl   $0xffffffff,0x44(%edi)
4c621f:	89 07                	mov    %eax,(%edi)
4c6221:	0f 88 76 fc ff ff    	js     0x4c5e9d
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