4a5095:	83 f9 10             	cmp    $0x10,%ecx
4a5098:	72 ed                	jb     0x4a5087
4a509a:	ff 76 2c             	push   0x2c(%esi)
4a509d:	55                   	push   %ebp
4a509e:	55                   	push   %ebp
4a509f:	ff 54 24 20          	call   *0x20(%esp)
4a50a3:	83 c4 0c             	add    $0xc,%esp
4a50a6:	83 46 20 01          	addl   $0x1,0x20(%esi)
4a50aa:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4a50ae:	33 c0                	xor    %eax,%eax
4a50b0:	85 db                	test   %ebx,%ebx
4a50b2:	75 c2                	jne    0x4a5076
4a50b4:	5f                   	pop    %edi
4a50b5:	5d                   	pop    %ebp
4a50b6:	5e                   	pop    %esi
4a50b7:	5b                   	pop    %ebx
4a50b8:	c3                   	ret
4a50b9:	cc                   	int3
4a50ba:	cc                   	int3
4a50bb:	cc                   	int3
4a50bc:	cc                   	int3
4a50bd:	cc                   	int3
4a50be:	cc                   	int3
4a50bf:	cc                   	int3
4a50c0:	b8 30 00 00 00       	mov    $0x30,%eax
4a50c5:	e8 26 c4 13 00       	call   0x5e14f0
4a50ca:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4a50cf:	33 c4                	xor    %esp,%eax
4a50d1:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4a50d5:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4a50d9:	53                   	push   %ebx
4a50da:	55                   	push   %ebp
4a50db:	56                   	push   %esi
4a50dc:	8b 74 24 40          	mov    0x40(%esp),%esi
4a50e0:	57                   	push   %edi
4a50e1:	89 44 24 14          	mov    %eax,0x14(%esp)
4a50e5:	89 74 24 24          	mov    %esi,0x24(%esp)
4a50e9:	8a 1e                	mov    (%esi),%bl
4a50eb:	8b 7e 28             	mov    0x28(%esi),%edi
4a50ee:	8b 46 2c             	mov    0x2c(%esi),%eax
4a50f1:	88 5c 24 13          	mov    %bl,0x13(%esp)
4a50f5:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4a50f9:	89 44 24 18          	mov    %eax,0x18(%esp)
4a50fd:	f6 c3 40             	test   $0x40,%bl
4a5100:	75 0b                	jne    0x4a510d
4a5102:	50                   	push   %eax
4a5103:	8d 46 10             	lea    0x10(%esi),%eax
4a5106:	50                   	push   %eax
4a5107:	56                   	push   %esi
4a5108:	ff d7                	call   *%edi
4a510a:	83 c4 0c             	add    $0xc,%esp
4a510d:	0f b6 c3             	movzbl %bl,%eax
4a5110:	ba 0f 00 00 00       	mov    $0xf,%edx
4a5115:	83 e0 07             	and    $0x7,%eax
4a5118:	33 c9                	xor    %ecx,%ecx
4a511a:	2b d0                	sub    %eax,%edx
4a511c:	88 06                	mov    %al,(%esi)
4a511e:	89 54 24 28          	mov    %edx,0x28(%esp)
4a5122:	83 fa 0f             	cmp    $0xf,%edx
4a5125:	73 1c                	jae    0x4a5143
4a5127:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
4a512e:	00 00
4a5130:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
4a5134:	0b c8                	or     %eax,%ecx
4a5136:	c6 04 16 00          	movb   $0x0,(%esi,%edx,1)
4a513a:	42                   	inc    %edx
4a513b:	c1 e1 08             	shl    $0x8,%ecx
4a513e:	83 fa 0f             	cmp    $0xf,%edx
4a5141:	72 ed                	jb     0x4a5130
4a5143:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4a5147:	8b 6c 24 50          	mov    0x50(%esp),%ebp
4a514b:	0b c8                	or     %eax,%ecx
4a514d:	c6 46 0f 01          	movb   $0x1,0xf(%esi)
4a5151:	3b cd                	cmp    %ebp,%ecx
4a5153:	74 16                	je     0x4a516b
4a5155:	5f                   	pop    %edi
4a5156:	5e                   	pop    %esi
4a5157:	5d                   	pop    %ebp
4a5158:	83 c8 ff             	or     $0xffffffff,%eax
4a515b:	5b                   	pop    %ebx
4a515c:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4a5160:	33 cc                	xor    %esp,%ecx
4a5162:	e8 73 c3 13 00       	call   0x5e14da
4a5167:	83 c4 30             	add    $0x30,%esp
4a516a:	c3                   	ret
4a516b:	8b 5c 24 48          	mov    0x48(%esp),%ebx
4a516f:	83 fd 10             	cmp    $0x10,%ebp
4a5172:	0f 82 98 00 00 00    	jb     0x4a5210
4a5178:	bf f8 ff ff ff       	mov    $0xfffffff8,%edi
4a517d:	8b c5                	mov    %ebp,%eax
4a517f:	2b fe                	sub    %esi,%edi
4a5181:	c1 e8 04             	shr    $0x4,%eax
4a5184:	89 44 24 20          	mov    %eax,0x20(%esp)
4a5188:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4a518f:	00
4a5190:	ff 74 24 18          	push   0x18(%esp)
4a5194:	8d 44 24 30          	lea    0x30(%esp),%eax
4a5198:	50                   	push   %eax
4a5199:	56                   	push   %esi
4a519a:	ff 54 24 28          	call   *0x28(%esp)
4a519e:	83 c4 0c             	add    $0xc,%esp
4a51a1:	8d 46 10             	lea    0x10(%esi),%eax
4a51a4:	80 40 ff 01          	addb   $0x1,-0x1(%eax)
4a51a8:	8d 40 ff             	lea    -0x1(%eax),%eax
4a51ab:	75 07                	jne    0x4a51b4
4a51ad:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
4a51b0:	85 c9                	test   %ecx,%ecx
4a51b2:	75 f0                	jne    0x4a51a4
4a51b4:	8b 0b                	mov    (%ebx),%ecx
4a51b6:	8b 43 04             	mov    0x4(%ebx),%eax
4a51b9:	8b 54 24 14          	mov    0x14(%esp),%edx
4a51bd:	33 44 24 30          	xor    0x30(%esp),%eax
4a51c1:	33 4c 24 2c          	xor    0x2c(%esp),%ecx
4a51c5:	ff 74 24 18          	push   0x18(%esp)
4a51c9:	89 42 04             	mov    %eax,0x4(%edx)
4a51cc:	89 0a                	mov    %ecx,(%edx)
4a51ce:	31 46 14             	xor    %eax,0x14(%esi)
4a51d1:	31 4e 10             	xor    %ecx,0x10(%esi)
4a51d4:	8b 4b 08             	mov    0x8(%ebx),%ecx
4a51d7:	8b 43 0c             	mov    0xc(%ebx),%eax
4a51da:	33 44 24 3c          	xor    0x3c(%esp),%eax
4a51de:	33 4c 24 38          	xor    0x38(%esp),%ecx
4a51e2:	89 42 0c             	mov    %eax,0xc(%edx)
4a51e5:	89 4a 08             	mov    %ecx,0x8(%edx)
4a51e8:	31 46 1c             	xor    %eax,0x1c(%esi)
4a51eb:	8d 46 10             	lea    0x10(%esi),%eax
4a51ee:	31 4e 18             	xor    %ecx,0x18(%esi)
4a51f1:	50                   	push   %eax
4a51f2:	50                   	push   %eax
4a51f3:	ff 54 24 28          	call   *0x28(%esp)
4a51f7:	83 44 24 20 10       	addl   $0x10,0x20(%esp)
4a51fc:	83 c4 0c             	add    $0xc,%esp
4a51ff:	83 c3 10             	add    $0x10,%ebx
4a5202:	83 ed 10             	sub    $0x10,%ebp
4a5205:	83 6c 24 20 01       	subl   $0x1,0x20(%esp)
4a520a:	75 84                	jne    0x4a5190
4a520c:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4a5210:	85 ed                	test   %ebp,%ebp
4a5212:	74 63                	je     0x4a5277
4a5214:	ff 74 24 18          	push   0x18(%esp)
4a5218:	8d 44 24 30          	lea    0x30(%esp),%eax
4a521c:	50                   	push   %eax
4a521d:	56                   	push   %esi
4a521e:	ff d7                	call   *%edi
4a5220:	83 c4 0c             	add    $0xc,%esp
4a5223:	33 ff                	xor    %edi,%edi
4a5225:	85 ed                	test   %ebp,%ebp
4a5227:	74 39                	je     0x4a5262
4a5229:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4a522d:	2b d8                	sub    %eax,%ebx
4a522f:	29 44 24 14          	sub    %eax,0x14(%esp)
4a5233:	8d 46 10             	lea    0x10(%esi),%eax
4a5236:	8b 74 24 14          	mov    0x14(%esp),%esi
4a523a:	89 44 24 20          	mov    %eax,0x20(%esp)
4a523e:	66 90                	xchg   %ax,%ax
4a5240:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
4a5244:	03 cf                	add    %edi,%ecx
4a5246:	0f b6 14 0b          	movzbl (%ebx,%ecx,1),%edx
4a524a:	0f b6 01             	movzbl (%ecx),%eax
4a524d:	33 d0                	xor    %eax,%edx
4a524f:	8b 44 24 20          	mov    0x20(%esp),%eax
4a5253:	88 14 0e             	mov    %dl,(%esi,%ecx,1)
4a5256:	30 14 38             	xor    %dl,(%eax,%edi,1)
4a5259:	47                   	inc    %edi
4a525a:	3b fd                	cmp    %ebp,%edi
4a525c:	72 e2                	jb     0x4a5240
4a525e:	8b 74 24 24          	mov    0x24(%esp),%esi
4a5262:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4a5266:	8d 46 10             	lea    0x10(%esi),%eax
4a5269:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4a526d:	53                   	push   %ebx
4a526e:	50                   	push   %eax
4a526f:	50                   	push   %eax
4a5270:	ff d7                	call   *%edi
4a5272:	83 c4 0c             	add    $0xc,%esp
4a5275:	eb 04                	jmp    0x4a527b
4a5277:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4a527b:	8b 54 24 28          	mov    0x28(%esp),%edx
4a527f:	83 fa 10             	cmp    $0x10,%edx
4a5282:	73 1e                	jae    0x4a52a2
4a5284:	b9 10 00 00 00       	mov    $0x10,%ecx
4a5289:	8d 3c 32             	lea    (%edx,%esi,1),%edi
4a528c:	2b ca                	sub    %edx,%ecx
4a528e:	33 c0                	xor    %eax,%eax
4a5290:	8b d1                	mov    %ecx,%edx
4a5292:	c1 e9 02             	shr    $0x2,%ecx
4a5295:	f3 ab                	rep stos %eax,%es:(%edi)
4a5297:	8b ca                	mov    %edx,%ecx
4a5299:	83 e1 03             	and    $0x3,%ecx
4a529c:	f3 aa                	rep stos %al,%es:(%edi)
4a529e:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4a52a2:	53                   	push   %ebx
4a52a3:	8d 44 24 30          	lea    0x30(%esp),%eax
4a52a7:	50                   	push   %eax
4a52a8:	56                   	push   %esi
4a52a9:	ff d7                	call   *%edi
4a52ab:	8b 44 24 38          	mov    0x38(%esp),%eax
4a52af:	83 c4 0c             	add    $0xc,%esp
4a52b2:	31 46 10             	xor    %eax,0x10(%esi)
4a52b5:	8b 44 24 30          	mov    0x30(%esp),%eax
4a52b9:	31 46 14             	xor    %eax,0x14(%esi)
4a52bc:	8b 44 24 34          	mov    0x34(%esp),%eax
4a52c0:	31 46 18             	xor    %eax,0x18(%esi)
4a52c3:	8b 44 24 38          	mov    0x38(%esp),%eax
4a52c7:	31 46 1c             	xor    %eax,0x1c(%esi)
4a52ca:	8a 44 24 13          	mov    0x13(%esp),%al
4a52ce:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4a52d2:	5f                   	pop    %edi
4a52d3:	88 06                	mov    %al,(%esi)
4a52d5:	33 c0                	xor    %eax,%eax
4a52d7:	5e                   	pop    %esi
4a52d8:	5d                   	pop    %ebp
4a52d9:	5b                   	pop    %ebx
4a52da:	33 cc                	xor    %esp,%ecx
4a52dc:	e8 f9 c1 13 00       	call   0x5e14da
4a52e1:	83 c4 30             	add    $0x30,%esp
4a52e4:	c3                   	ret
4a52e5:	cc                   	int3
4a52e6:	cc                   	int3
4a52e7:	cc                   	int3
4a52e8:	cc                   	int3
4a52e9:	cc                   	int3
4a52ea:	cc                   	int3
4a52eb:	cc                   	int3
4a52ec:	cc                   	int3
4a52ed:	cc                   	int3
4a52ee:	cc                   	int3
4a52ef:	cc                   	int3
4a52f0:	b8 30 00 00 00       	mov    $0x30,%eax
4a52f5:	e8 f6 c1 13 00       	call   0x5e14f0
4a52fa:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4a52ff:	33 c4                	xor    %esp,%eax
4a5301:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4a5305:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4a5309:	53                   	push   %ebx
4a530a:	55                   	push   %ebp
4a530b:	8b 6c 24 40          	mov    0x40(%esp),%ebp
4a530f:	56                   	push   %esi
4a5310:	8b 74 24 40          	mov    0x40(%esp),%esi
4a5314:	89 44 24 10          	mov    %eax,0x10(%esp)
4a5318:	8b 44 24 50          	mov    0x50(%esp),%eax
4a531c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4a5320:	8a 1e                	mov    (%esi),%bl
4a5322:	8b 4e 28             	mov    0x28(%esi),%ecx
4a5325:	8b 46 2c             	mov    0x2c(%esi),%eax
4a5328:	89 74 24 20          	mov    %esi,0x20(%esp)
4a532c:	88 5c 24 0f          	mov    %bl,0xf(%esp)
4a5330:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4a5334:	89 44 24 14          	mov    %eax,0x14(%esp)
4a5338:	f6 c3 40             	test   $0x40,%bl
4a533b:	75 0b                	jne    0x4a5348
4a533d:	50                   	push   %eax
4a533e:	8d 46 10             	lea    0x10(%esi),%eax
4a5341:	50                   	push   %eax
4a5342:	56                   	push   %esi
4a5343:	ff d1                	call   *%ecx
4a5345:	83 c4 0c             	add    $0xc,%esp
4a5348:	0f b6 c3             	movzbl %bl,%eax
4a534b:	ba 0f 00 00 00       	mov    $0xf,%edx
4a5350:	83 e0 07             	and    $0x7,%eax
4a5353:	33 c9                	xor    %ecx,%ecx
4a5355:	2b d0                	sub    %eax,%edx
4a5357:	88 06                	mov    %al,(%esi)
4a5359:	89 54 24 24          	mov    %edx,0x24(%esp)
4a535d:	83 fa 0f             	cmp    $0xf,%edx
4a5360:	73 13                	jae    0x4a5375
4a5362:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
4a5366:	0b c8                	or     %eax,%ecx
4a5368:	c6 04 16 00          	movb   $0x0,(%esi,%edx,1)
4a536c:	42                   	inc    %edx
4a536d:	c1 e1 08             	shl    $0x8,%ecx
4a5370:	83 fa 0f             	cmp    $0xf,%edx
4a5373:	72 ed                	jb     0x4a5362
4a5375:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4a5379:	8b 5c 24 4c          	mov    0x4c(%esp),%ebx
4a537d:	0b c8                	or     %eax,%ecx
4a537f:	c6 46 0f 01          	movb   $0x1,0xf(%esi)
4a5383:	3b cb                	cmp    %ebx,%ecx
4a5385:	74 15                	je     0x4a539c
4a5387:	5e                   	pop    %esi
4a5388:	5d                   	pop    %ebp
4a5389:	83 c8 ff             	or     $0xffffffff,%eax
4a538c:	5b                   	pop    %ebx
4a538d:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4a5391:	33 cc                	xor    %esp,%ecx
4a5393:	e8 42 c1 13 00       	call   0x5e14da
4a5398:	83 c4 30             	add    $0x30,%esp
4a539b:	c3                   	ret
4a539c:	57                   	push   %edi
4a539d:	8b fb                	mov    %ebx,%edi
4a539f:	c1 ef 04             	shr    $0x4,%edi
4a53a2:	85 ff                	test   %edi,%edi
4a53a4:	74 30                	je     0x4a53d6
4a53a6:	8d 46 10             	lea    0x10(%esi),%eax
4a53a9:	50                   	push   %eax
4a53aa:	56                   	push   %esi
4a53ab:	ff 74 24 20          	push   0x20(%esp)
4a53af:	57                   	push   %edi
4a53b0:	ff 74 24 24          	push   0x24(%esp)
4a53b4:	55                   	push   %ebp
4a53b5:	ff 54 24 38          	call   *0x38(%esp)
4a53b9:	c1 e7 04             	shl    $0x4,%edi
4a53bc:	83 c4 18             	add    $0x18,%esp
4a53bf:	01 7c 24 14          	add    %edi,0x14(%esp)
4a53c3:	03 ef                	add    %edi,%ebp
4a53c5:	2b df                	sub    %edi,%ebx
4a53c7:	74 74                	je     0x4a543d
4a53c9:	c1 ef 04             	shr    $0x4,%edi
4a53cc:	57                   	push   %edi
4a53cd:	56                   	push   %esi
4a53ce:	e8 8d 07 00 00       	call   0x4a5b60
4a53d3:	83 c4 08             	add    $0x8,%esp
4a53d6:	85 db                	test   %ebx,%ebx
4a53d8:	74 63                	je     0x4a543d
4a53da:	ff 74 24 18          	push   0x18(%esp)
4a53de:	8d 44 24 30          	lea    0x30(%esp),%eax
4a53e2:	50                   	push   %eax
4a53e3:	56                   	push   %esi
4a53e4:	ff 54 24 28          	call   *0x28(%esp)
4a53e8:	83 c4 0c             	add    $0xc,%esp
4a53eb:	33 ff                	xor    %edi,%edi
4a53ed:	85 db                	test   %ebx,%ebx
4a53ef:	74 37                	je     0x4a5428
4a53f1:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4a53f5:	2b e8                	sub    %eax,%ebp
4a53f7:	29 44 24 14          	sub    %eax,0x14(%esp)
4a53fb:	8d 46 10             	lea    0x10(%esi),%eax
4a53fe:	8b 74 24 14          	mov    0x14(%esp),%esi
4a5402:	89 44 24 20          	mov    %eax,0x20(%esp)
4a5406:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
4a540a:	03 cf                	add    %edi,%ecx
4a540c:	0f b6 14 29          	movzbl (%ecx,%ebp,1),%edx
4a5410:	0f b6 01             	movzbl (%ecx),%eax
4a5413:	33 d0                	xor    %eax,%edx
4a5415:	8b 44 24 20          	mov    0x20(%esp),%eax
4a5419:	88 14 0e             	mov    %dl,(%esi,%ecx,1)
4a541c:	30 14 38             	xor    %dl,(%eax,%edi,1)
4a541f:	47                   	inc    %edi
4a5420:	3b fb                	cmp    %ebx,%edi
4a5422:	72 e2                	jb     0x4a5406
4a5424:	8b 74 24 24          	mov    0x24(%esp),%esi
4a5428:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4a542c:	8d 46 10             	lea    0x10(%esi),%eax
4a542f:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4a5433:	53                   	push   %ebx
4a5434:	50                   	push   %eax
4a5435:	50                   	push   %eax
4a5436:	ff d5                	call   *%ebp
4a5438:	83 c4 0c             	add    $0xc,%esp
4a543b:	eb 08                	jmp    0x4a5445