505258:	8a 47 13             	mov    0x13(%edi),%al
50525b:	3c 08                	cmp    $0x8,%al
50525d:	73 0d                	jae    0x50526c
50525f:	0f b6 c0             	movzbl %al,%eax
505262:	89 8c 87 94 00 00 00 	mov    %ecx,0x94(%edi,%eax,4)
505269:	fe 47 13             	incb   0x13(%edi)
50526c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50526f:	8a 47 13             	mov    0x13(%edi),%al
505272:	3c 08                	cmp    $0x8,%al
505274:	73 0d                	jae    0x505283
505276:	0f b6 c0             	movzbl %al,%eax
505279:	89 8c 87 94 00 00 00 	mov    %ecx,0x94(%edi,%eax,4)
505280:	fe 47 13             	incb   0x13(%edi)
505283:	8b 4e 0c             	mov    0xc(%esi),%ecx
505286:	8b 55 dc             	mov    -0x24(%ebp),%edx
505289:	f7 d2                	not    %edx
50528b:	8b 41 3c             	mov    0x3c(%ecx),%eax
50528e:	03 41 38             	add    0x38(%ecx),%eax
505291:	79 0d                	jns    0x5052a0
505293:	52                   	push   %edx
505294:	56                   	push   %esi
505295:	51                   	push   %ecx
505296:	e8 05 e5 00 00       	call   0x5137a0
50529b:	83 c4 0c             	add    $0xc,%esp
50529e:	eb 09                	jmp    0x5052a9
5052a0:	8b 49 40             	mov    0x40(%ecx),%ecx
5052a3:	8b 46 6c             	mov    0x6c(%esi),%eax
5052a6:	89 04 91             	mov    %eax,(%ecx,%edx,4)
5052a9:	8b 5d 10             	mov    0x10(%ebp),%ebx
5052ac:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5052af:	f6 43 20 01          	testb  $0x1,0x20(%ebx)
5052b3:	74 30                	je     0x5052e5
5052b5:	39 4e 70             	cmp    %ecx,0x70(%esi)
5052b8:	7f 16                	jg     0x5052d0
5052ba:	8b 55 e0             	mov    -0x20(%ebp),%edx
5052bd:	6a 00                	push   $0x0
5052bf:	52                   	push   %edx
5052c0:	ff 75 f0             	push   -0x10(%ebp)
5052c3:	6a 03                	push   $0x3
5052c5:	56                   	push   %esi
5052c6:	e8 35 12 00 00       	call   0x506500
5052cb:	83 c4 14             	add    $0x14,%esp
5052ce:	eb 61                	jmp    0x505331
5052d0:	8d 41 01             	lea    0x1(%ecx),%eax
5052d3:	89 46 6c             	mov    %eax,0x6c(%esi)
5052d6:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5052d9:	8b 46 68             	mov    0x68(%esi),%eax
5052dc:	c7 04 88 03 00 00 00 	movl   $0x3,(%eax,%ecx,4)
5052e3:	eb 2e                	jmp    0x505313
5052e5:	39 4e 70             	cmp    %ecx,0x70(%esi)
5052e8:	7f 16                	jg     0x505300
5052ea:	8b 55 e0             	mov    -0x20(%ebp),%edx
5052ed:	6a 00                	push   $0x0
5052ef:	52                   	push   %edx
5052f0:	ff 75 f0             	push   -0x10(%ebp)
5052f3:	6a 05                	push   $0x5
5052f5:	56                   	push   %esi
5052f6:	e8 05 12 00 00       	call   0x506500
5052fb:	83 c4 14             	add    $0x14,%esp
5052fe:	eb 31                	jmp    0x505331
505300:	8d 41 01             	lea    0x1(%ecx),%eax
505303:	89 46 6c             	mov    %eax,0x6c(%esi)
505306:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
505309:	8b 46 68             	mov    0x68(%esi),%eax
50530c:	c7 04 88 05 00 00 00 	movl   $0x5,(%eax,%ecx,4)
505313:	8b 55 f0             	mov    -0x10(%ebp),%edx
505316:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
50531a:	8b 55 e0             	mov    -0x20(%ebp),%edx
50531d:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
505324:	00
505325:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
50532c:	00
50532d:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
505331:	8b 53 0c             	mov    0xc(%ebx),%edx
505334:	85 d2                	test   %edx,%edx
505336:	74 49                	je     0x505381
505338:	8b 4e 6c             	mov    0x6c(%esi),%ecx
50533b:	39 4e 70             	cmp    %ecx,0x70(%esi)
50533e:	7f 12                	jg     0x505352
505340:	6a 00                	push   $0x0
505342:	6a 00                	push   $0x0
505344:	52                   	push   %edx
505345:	6a 41                	push   $0x41
505347:	56                   	push   %esi
505348:	e8 b3 11 00 00       	call   0x506500
50534d:	83 c4 14             	add    $0x14,%esp
505350:	eb 2f                	jmp    0x505381
505352:	8d 41 01             	lea    0x1(%ecx),%eax
505355:	89 46 6c             	mov    %eax,0x6c(%esi)
505358:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50535b:	8b 46 68             	mov    0x68(%esi),%eax
50535e:	c7 04 88 41 00 00 00 	movl   $0x41,(%eax,%ecx,4)
505365:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
505369:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
505370:	00
505371:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
505378:	00
505379:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
505380:	00
505381:	8b 4e 0c             	mov    0xc(%esi),%ecx
505384:	8b 55 e8             	mov    -0x18(%ebp),%edx
505387:	f7 d2                	not    %edx
505389:	8b 41 3c             	mov    0x3c(%ecx),%eax
50538c:	03 41 38             	add    0x38(%ecx),%eax
50538f:	79 12                	jns    0x5053a3
505391:	52                   	push   %edx
505392:	56                   	push   %esi
505393:	51                   	push   %ecx
505394:	e8 07 e4 00 00       	call   0x5137a0
505399:	83 c4 0c             	add    $0xc,%esp
50539c:	5f                   	pop    %edi
50539d:	5e                   	pop    %esi
50539e:	5b                   	pop    %ebx
50539f:	8b e5                	mov    %ebp,%esp
5053a1:	5d                   	pop    %ebp
5053a2:	c3                   	ret
5053a3:	8b 49 40             	mov    0x40(%ecx),%ecx
5053a6:	8b 46 6c             	mov    0x6c(%esi),%eax
5053a9:	5f                   	pop    %edi
5053aa:	5e                   	pop    %esi
5053ab:	89 04 91             	mov    %eax,(%ecx,%edx,4)
5053ae:	5b                   	pop    %ebx
5053af:	8b e5                	mov    %ebp,%esp
5053b1:	5d                   	pop    %ebp
5053b2:	c3                   	ret
5053b3:	90                   	nop
5053b4:	4c                   	dec    %esp
5053b5:	52                   	push   %edx
5053b6:	50                   	push   %eax
5053b7:	00 a2 50 50 00 9a    	add    %ah,-0x65ffafb0(%edx)
5053bd:	4f                   	dec    %edi
5053be:	50                   	push   %eax
5053bf:	00 84 51 50 00 9a 4f 	add    %al,0x4f9a0050(%ecx,%edx,2)
5053c6:	50                   	push   %eax
5053c7:	00 cc                	add    %cl,%ah
5053c9:	cc                   	int3
5053ca:	cc                   	int3
5053cb:	cc                   	int3
5053cc:	cc                   	int3
5053cd:	cc                   	int3
5053ce:	cc                   	int3
5053cf:	cc                   	int3
5053d0:	55                   	push   %ebp
5053d1:	8b ec                	mov    %esp,%ebp
5053d3:	83 ec 50             	sub    $0x50,%esp
5053d6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5053db:	33 c5                	xor    %ebp,%eax
5053dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5053e0:	8b 45 10             	mov    0x10(%ebp),%eax
5053e3:	53                   	push   %ebx
5053e4:	8b 5d 08             	mov    0x8(%ebp),%ebx
5053e7:	56                   	push   %esi
5053e8:	57                   	push   %edi
5053e9:	8b 7d 0c             	mov    0xc(%ebp),%edi
5053ec:	8b 73 08             	mov    0x8(%ebx),%esi
5053ef:	89 45 b8             	mov    %eax,-0x48(%ebp)
5053f2:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
5053f5:	83 7f 44 00          	cmpl   $0x0,0x44(%edi)
5053f9:	8b 47 20             	mov    0x20(%edi),%eax
5053fc:	89 45 d8             	mov    %eax,-0x28(%ebp)
5053ff:	8b 47 1c             	mov    0x1c(%edi),%eax
505402:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
505409:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
505410:	8b 00                	mov    (%eax),%eax
505412:	89 45 dc             	mov    %eax,-0x24(%ebp)
505415:	8b 47 34             	mov    0x34(%edi),%eax
505418:	89 45 c0             	mov    %eax,-0x40(%ebp)
50541b:	74 1f                	je     0x50543c
50541d:	68 3c af 6b 00       	push   $0x6baf3c
505422:	53                   	push   %ebx
505423:	e8 38 de 01 00       	call   0x523260
505428:	83 c4 08             	add    $0x8,%esp
50542b:	5f                   	pop    %edi
50542c:	5e                   	pop    %esi
50542d:	5b                   	pop    %ebx
50542e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
505431:	33 cd                	xor    %ebp,%ecx
505433:	e8 a2 c0 0d 00       	call   0x5e14da
505438:	8b e5                	mov    %ebp,%esp
50543a:	5d                   	pop    %ebp
50543b:	c3                   	ret
50543c:	6a 00                	push   $0x0
50543e:	6a 00                	push   $0x0
505440:	6a 00                	push   $0x0
505442:	6a 21                	push   $0x21
505444:	53                   	push   %ebx
505445:	e8 56 43 01 00       	call   0x5197a0
50544a:	83 c4 14             	add    $0x14,%esp
50544d:	85 c0                	test   %eax,%eax
50544f:	0f 85 85 05 00 00    	jne    0x5059da
505455:	ff 4b 38             	decl   0x38(%ebx)
505458:	b9 40 01 00 00       	mov    $0x140,%ecx
50545d:	8b 43 38             	mov    0x38(%ebx),%eax
505460:	50                   	push   %eax
505461:	57                   	push   %edi
505462:	53                   	push   %ebx
505463:	89 45 c8             	mov    %eax,-0x38(%ebp)
505466:	66 89 4f 02          	mov    %cx,0x2(%edi)
50546a:	e8 81 5e ff ff       	call   0x4fb2f0
50546f:	8b 47 3c             	mov    0x3c(%edi),%eax
505472:	83 c4 0c             	add    $0xc,%esp
505475:	8b 4d d8             	mov    -0x28(%ebp),%ecx
505478:	89 45 b0             	mov    %eax,-0x50(%ebp)
50547b:	8b 47 08             	mov    0x8(%edi),%eax
50547e:	89 45 b4             	mov    %eax,-0x4c(%ebp)
505481:	8b 47 0c             	mov    0xc(%edi),%eax
505484:	89 45 bc             	mov    %eax,-0x44(%ebp)
505487:	8b 47 30             	mov    0x30(%edi),%eax
50548a:	c7 47 3c 00 00 00 00 	movl   $0x0,0x3c(%edi)
505491:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
505498:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
50549f:	8b 11                	mov    (%ecx),%edx
5054a1:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5054a4:	33 c0                	xor    %eax,%eax
5054a6:	85 d2                	test   %edx,%edx
5054a8:	7e 22                	jle    0x5054cc
5054aa:	83 c1 30             	add    $0x30,%ecx
5054ad:	0f 1f 00             	nopl   (%eax)
5054b0:	f6 01 20             	testb  $0x20,(%ecx)
5054b3:	75 0a                	jne    0x5054bf
5054b5:	40                   	inc    %eax
5054b6:	83 c1 48             	add    $0x48,%ecx
5054b9:	3b c2                	cmp    %edx,%eax
5054bb:	7c f3                	jl     0x5054b0
5054bd:	eb 0d                	jmp    0x5054cc
5054bf:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5054c2:	8d 04 c0             	lea    (%eax,%eax,8),%eax
5054c5:	8b 44 c1 34          	mov    0x34(%ecx,%eax,8),%eax
5054c9:	89 45 cc             	mov    %eax,-0x34(%ebp)
5054cc:	8b 53 28             	mov    0x28(%ebx),%edx
5054cf:	33 c9                	xor    %ecx,%ecx
5054d1:	89 55 e0             	mov    %edx,-0x20(%ebp)
5054d4:	8d 42 01             	lea    0x1(%edx),%eax
5054d7:	89 43 28             	mov    %eax,0x28(%ebx)
5054da:	80 3f 84             	cmpb   $0x84,(%edi)
5054dd:	75 16                	jne    0x5054f5
5054df:	39 4d d4             	cmp    %ecx,-0x2c(%ebp)
5054e2:	89 45 d0             	mov    %eax,-0x30(%ebp)
5054e5:	0f 95 c1             	setne  %cl
5054e8:	40                   	inc    %eax
5054e9:	89 43 28             	mov    %eax,0x28(%ebx)
5054ec:	8d 0c 4d 06 00 00 00 	lea    0x6(,%ecx,2),%ecx
5054f3:	eb 0d                	jmp    0x505502
5054f5:	39 4d d4             	cmp    %ecx,-0x2c(%ebp)
5054f8:	0f 95 c1             	setne  %cl
5054fb:	8d 0c 4d 05 00 00 00 	lea    0x5(,%ecx,2),%ecx
505502:	ff 43 2c             	incl   0x2c(%ebx)
505505:	8b 43 2c             	mov    0x2c(%ebx),%eax
505508:	88 4d e4             	mov    %cl,-0x1c(%ebp)
50550b:	89 55 e8             	mov    %edx,-0x18(%ebp)
50550e:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
505515:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
50551c:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
505523:	8b 4e 6c             	mov    0x6c(%esi),%ecx
505526:	89 45 d8             	mov    %eax,-0x28(%ebp)
505529:	39 4e 70             	cmp    %ecx,0x70(%esi)
50552c:	7f 14                	jg     0x505542
50552e:	ff 75 dc             	push   -0x24(%ebp)
505531:	50                   	push   %eax
505532:	ff 75 cc             	push   -0x34(%ebp)
505535:	6a 72                	push   $0x72
505537:	56                   	push   %esi
505538:	e8 c3 0f 00 00       	call   0x506500
50553d:	83 c4 14             	add    $0x14,%esp
505540:	eb 30                	jmp    0x505572
505542:	8b 55 cc             	mov    -0x34(%ebp),%edx
505545:	8d 41 01             	lea    0x1(%ecx),%eax
505548:	89 46 6c             	mov    %eax,0x6c(%esi)
50554b:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50554e:	8b 46 68             	mov    0x68(%esi),%eax
505551:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
505555:	8b 55 d8             	mov    -0x28(%ebp),%edx
505558:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
50555c:	8b 55 dc             	mov    -0x24(%ebp),%edx
50555f:	c7 04 88 72 00 00 00 	movl   $0x72,(%eax,%ecx,4)
505566:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
50556a:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
505571:	00
505572:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
505576:	8b 55 e0             	mov    -0x20(%ebp),%edx
505579:	74 2d                	je     0x5055a8
50557b:	6a 01                	push   $0x1
50557d:	57                   	push   %edi
50557e:	53                   	push   %ebx
50557f:	e8 4c 60 00 00       	call   0x50b5d0
505584:	6a f7                	push   $0xfffffff7
505586:	50                   	push   %eax
505587:	8b 45 d4             	mov    -0x2c(%ebp),%eax
50558a:	6a 00                	push   $0x0
50558c:	8b 00                	mov    (%eax),%eax
50558e:	83 c0 02             	add    $0x2,%eax
505591:	50                   	push   %eax
505592:	ff 75 e0             	push   -0x20(%ebp)
505595:	6a 64                	push   $0x64
505597:	56                   	push   %esi
505598:	e8 f3 c5 03 00       	call   0x541b90
50559d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5055a0:	83 c4 28             	add    $0x28,%esp
5055a3:	89 45 f8             	mov    %eax,-0x8(%ebp)
5055a6:	eb 49                	jmp    0x5055f1
5055a8:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5055ab:	39 4e 70             	cmp    %ecx,0x70(%esi)
5055ae:	7f 13                	jg     0x5055c3
5055b0:	6a 00                	push   $0x0
5055b2:	ff 75 dc             	push   -0x24(%ebp)
5055b5:	52                   	push   %edx
5055b6:	6a 64                	push   $0x64
5055b8:	56                   	push   %esi
5055b9:	e8 42 0f 00 00       	call   0x506500
5055be:	83 c4 14             	add    $0x14,%esp
5055c1:	eb 2e                	jmp    0x5055f1
5055c3:	8d 41 01             	lea    0x1(%ecx),%eax
5055c6:	89 46 6c             	mov    %eax,0x6c(%esi)
5055c9:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5055cc:	8b 46 68             	mov    0x68(%esi),%eax
5055cf:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5055d3:	8b 55 dc             	mov    -0x24(%ebp),%edx
5055d6:	c7 04 88 64 00 00 00 	movl   $0x64,(%eax,%ecx,4)
5055dd:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5055e1:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5055e8:	00
5055e9:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5055f0:	00
5055f1:	8b 45 d0             	mov    -0x30(%ebp),%eax
5055f4:	85 c0                	test   %eax,%eax
5055f6:	74 58                	je     0x505650
5055f8:	8b 56 6c             	mov    0x6c(%esi),%edx
5055fb:	39 56 70             	cmp    %edx,0x70(%esi)
5055fe:	7f 14                	jg     0x505614
505600:	6a 00                	push   $0x0
505602:	6a 00                	push   $0x0
505604:	50                   	push   %eax
505605:	6a 64                	push   $0x64
505607:	56                   	push   %esi
505608:	e8 f3 0e 00 00       	call   0x506500
50560d:	83 c4 14             	add    $0x14,%esp
505610:	8b d0                	mov    %eax,%edx
505612:	eb 35                	jmp    0x505649
505614:	8b 5d d0             	mov    -0x30(%ebp),%ebx
505617:	8d 42 01             	lea    0x1(%edx),%eax
50561a:	89 46 6c             	mov    %eax,0x6c(%esi)
50561d:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
505620:	8b 46 68             	mov    0x68(%esi),%eax
505623:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
505627:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
50562a:	c7 04 88 64 00 00 00 	movl   $0x64,(%eax,%ecx,4)
505631:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
505638:	00
505639:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
505640:	00