5852d9:	8b 44 24 20          	mov    0x20(%esp),%eax
5852dd:	3d ff ff 00 00       	cmp    $0xffff,%eax
5852e2:	76 5c                	jbe    0x585340
5852e4:	eb 29                	jmp    0x58530f
5852e6:	68 ce 00 00 00       	push   $0xce
5852eb:	68 54 d3 65 00       	push   $0x65d354
5852f0:	6a 6a                	push   $0x6a
5852f2:	6a 6b                	push   $0x6b
5852f4:	6a 32                	push   $0x32
5852f6:	e8 85 3c f5 ff       	call   0x4d8f80
5852fb:	68 fd 00 00 00       	push   $0xfd
585300:	68 54 d3 65 00       	push   $0x65d354
585305:	6a 00                	push   $0x0
585307:	e8 74 b4 f5 ff       	call   0x4e0780
58530c:	83 c4 20             	add    $0x20,%esp
58530f:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
585314:	74 1a                	je     0x585330
585316:	68 72 01 00 00       	push   $0x172
58531b:	68 54 d3 65 00       	push   $0x65d354
585320:	ff 33                	push   (%ebx)
585322:	e8 59 b4 f5 ff       	call   0x4e0780
585327:	83 c4 0c             	add    $0xc,%esp
58532a:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
585330:	5f                   	pop    %edi
585331:	5e                   	pop    %esi
585332:	5d                   	pop    %ebp
585333:	83 c8 ff             	or     $0xffffffff,%eax
585336:	5b                   	pop    %ebx
585337:	83 c4 08             	add    $0x8,%esp
58533a:	c3                   	ret
58533b:	b8 02 00 00 00       	mov    $0x2,%eax
585340:	85 db                	test   %ebx,%ebx
585342:	74 1d                	je     0x585361
585344:	8b 13                	mov    (%ebx),%edx
585346:	83 c0 fe             	add    $0xfffffffe,%eax
585349:	c1 e8 08             	shr    $0x8,%eax
58534c:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
585351:	88 02                	mov    %al,(%edx)
585353:	8b 44 24 20          	mov    0x20(%esp),%eax
585357:	8d 48 fe             	lea    -0x2(%eax),%ecx
58535a:	88 4a 01             	mov    %cl,0x1(%edx)
58535d:	75 02                	jne    0x585361
58535f:	01 03                	add    %eax,(%ebx)
585361:	5f                   	pop    %edi
585362:	5e                   	pop    %esi
585363:	5d                   	pop    %ebp
585364:	5b                   	pop    %ebx
585365:	83 c4 08             	add    $0x8,%esp
585368:	c3                   	ret
585369:	cc                   	int3
58536a:	cc                   	int3
58536b:	cc                   	int3
58536c:	cc                   	int3
58536d:	cc                   	int3
58536e:	cc                   	int3
58536f:	cc                   	int3
585370:	b8 0c 00 00 00       	mov    $0xc,%eax
585375:	e8 36 c4 04 00       	call   0x5d17b0
58537a:	53                   	push   %ebx
58537b:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
58537f:	55                   	push   %ebp
585380:	56                   	push   %esi
585381:	33 ed                	xor    %ebp,%ebp
585383:	57                   	push   %edi
585384:	85 db                	test   %ebx,%ebx
585386:	0f 84 78 02 00 00    	je     0x585604
58538c:	81 fb ff ff 00 00    	cmp    $0xffff,%ebx
585392:	0f 87 6c 02 00 00    	ja     0x585604
585398:	e8 a3 f9 ff ff       	call   0x584d40
58539d:	8b e8                	mov    %eax,%ebp
58539f:	89 6c 24 14          	mov    %ebp,0x14(%esp)
5853a3:	85 ed                	test   %ebp,%ebp
5853a5:	0f 84 6e 02 00 00    	je     0x585619
5853ab:	8b 44 24 24          	mov    0x24(%esp),%eax
5853af:	8b 38                	mov    (%eax),%edi
5853b1:	0f b6 0f             	movzbl (%edi),%ecx
5853b4:	89 4d 00             	mov    %ecx,0x0(%ebp)
5853b7:	85 c9                	test   %ecx,%ecx
5853b9:	0f 85 00 02 00 00    	jne    0x5855bf
5853bf:	83 fb 2b             	cmp    $0x2b,%ebx
5853c2:	73 07                	jae    0x5853cb
5853c4:	6a 63                	push   $0x63
5853c6:	e9 3b 02 00 00       	jmp    0x585606
5853cb:	6a 68                	push   $0x68
5853cd:	68 54 d3 65 00       	push   $0x65d354
5853d2:	47                   	inc    %edi
5853d3:	83 eb 2b             	sub    $0x2b,%ebx
5853d6:	6a 20                	push   $0x20
5853d8:	57                   	push   %edi
5853d9:	89 5c 24 38          	mov    %ebx,0x38(%esp)
5853dd:	e8 8e cc f5 ff       	call   0x4e2070
5853e2:	83 c4 10             	add    $0x10,%esp
5853e5:	89 45 0c             	mov    %eax,0xc(%ebp)
5853e8:	85 c0                	test   %eax,%eax
5853ea:	0f 84 29 02 00 00    	je     0x585619
5853f0:	c7 45 10 20 00 00 00 	movl   $0x20,0x10(%ebp)
5853f7:	33 f6                	xor    %esi,%esi
5853f9:	0f b6 47 20          	movzbl 0x20(%edi),%eax
5853fd:	99                   	cltd
5853fe:	8b c8                	mov    %eax,%ecx
585400:	c7 45 18 00 00 00 00 	movl   $0x0,0x18(%ebp)
585407:	c1 e1 18             	shl    $0x18,%ecx
58540a:	89 4d 1c             	mov    %ecx,0x1c(%ebp)
58540d:	0f b6 47 21          	movzbl 0x21(%edi),%eax
585411:	83 c7 22             	add    $0x22,%edi
585414:	99                   	cltd
585415:	8b d8                	mov    %eax,%ebx
585417:	89 75 18             	mov    %esi,0x18(%ebp)
58541a:	c1 e3 10             	shl    $0x10,%ebx
58541d:	0b d9                	or     %ecx,%ebx
58541f:	89 7c 24 10          	mov    %edi,0x10(%esp)
585423:	89 5d 1c             	mov    %ebx,0x1c(%ebp)
585426:	33 c9                	xor    %ecx,%ecx
585428:	0f b6 07             	movzbl (%edi),%eax
58542b:	0b ce                	or     %esi,%ecx
58542d:	99                   	cltd
58542e:	0b f1                	or     %ecx,%esi
585430:	8b f8                	mov    %eax,%edi
585432:	89 4d 18             	mov    %ecx,0x18(%ebp)
585435:	c1 e7 08             	shl    $0x8,%edi
585438:	0b fb                	or     %ebx,%edi
58543a:	8b 5c 24 10          	mov    0x10(%esp),%ebx
58543e:	89 7d 1c             	mov    %edi,0x1c(%ebp)
585441:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
585445:	99                   	cltd
585446:	8b c8                	mov    %eax,%ecx
585448:	89 75 18             	mov    %esi,0x18(%ebp)
58544b:	0b cf                	or     %edi,%ecx
58544d:	89 4d 1c             	mov    %ecx,0x1c(%ebp)
585450:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
585454:	83 c3 03             	add    $0x3,%ebx
585457:	99                   	cltd
585458:	8b f8                	mov    %eax,%edi
58545a:	89 5c 24 10          	mov    %ebx,0x10(%esp)
58545e:	8b 44 24 14          	mov    0x14(%esp),%eax
585462:	8b ea                	mov    %edx,%ebp
585464:	0f a4 fd 18          	shld   $0x18,%edi,%ebp
585468:	0b e9                	or     %ecx,%ebp
58546a:	c1 e7 18             	shl    $0x18,%edi
58546d:	89 68 1c             	mov    %ebp,0x1c(%eax)
585470:	0b fe                	or     %esi,%edi
585472:	89 78 18             	mov    %edi,0x18(%eax)
585475:	0f b6 03             	movzbl (%ebx),%eax
585478:	99                   	cltd
585479:	8b d8                	mov    %eax,%ebx
58547b:	8b c2                	mov    %edx,%eax
58547d:	0f a4 d8 10          	shld   $0x10,%ebx,%eax
585481:	0b c5                	or     %ebp,%eax
585483:	c1 e3 10             	shl    $0x10,%ebx
585486:	8b 6c 24 14          	mov    0x14(%esp),%ebp
58548a:	0b df                	or     %edi,%ebx
58548c:	8b 7c 24 10          	mov    0x10(%esp),%edi
585490:	89 44 24 18          	mov    %eax,0x18(%esp)
585494:	89 45 1c             	mov    %eax,0x1c(%ebp)
585497:	89 5d 18             	mov    %ebx,0x18(%ebp)
58549a:	0f b6 47 01          	movzbl 0x1(%edi),%eax
58549e:	99                   	cltd
58549f:	8b c8                	mov    %eax,%ecx
5854a1:	8b f2                	mov    %edx,%esi
5854a3:	0f a4 ce 08          	shld   $0x8,%ecx,%esi
5854a7:	0b 74 24 18          	or     0x18(%esp),%esi
5854ab:	c1 e1 08             	shl    $0x8,%ecx
5854ae:	0b cb                	or     %ebx,%ecx
5854b0:	89 75 1c             	mov    %esi,0x1c(%ebp)
5854b3:	89 4d 18             	mov    %ecx,0x18(%ebp)
5854b6:	0f b6 47 02          	movzbl 0x2(%edi),%eax
5854ba:	99                   	cltd
5854bb:	0b c1                	or     %ecx,%eax
5854bd:	0b d6                	or     %esi,%edx
5854bf:	89 45 18             	mov    %eax,0x18(%ebp)
5854c2:	89 55 1c             	mov    %edx,0x1c(%ebp)
5854c5:	0f b6 5f 03          	movzbl 0x3(%edi),%ebx
5854c9:	0f b6 47 04          	movzbl 0x4(%edi),%eax
5854cd:	c1 e3 08             	shl    $0x8,%ebx
5854d0:	0b d8                	or     %eax,%ebx
5854d2:	83 c7 05             	add    $0x5,%edi
5854d5:	8b 74 24 28          	mov    0x28(%esp),%esi
5854d9:	3b f3                	cmp    %ebx,%esi
5854db:	73 07                	jae    0x5854e4
5854dd:	6a 72                	push   $0x72
5854df:	e9 22 01 00 00       	jmp    0x585606
5854e4:	85 db                	test   %ebx,%ebx
5854e6:	74 1c                	je     0x585504
5854e8:	6a 76                	push   $0x76
5854ea:	68 54 d3 65 00       	push   $0x65d354
5854ef:	53                   	push   %ebx
5854f0:	57                   	push   %edi
5854f1:	e8 7a cb f5 ff       	call   0x4e2070
5854f6:	83 c4 10             	add    $0x10,%esp
5854f9:	89 45 20             	mov    %eax,0x20(%ebp)
5854fc:	85 c0                	test   %eax,%eax
5854fe:	0f 84 15 01 00 00    	je     0x585619
585504:	03 fb                	add    %ebx,%edi
585506:	89 5d 24             	mov    %ebx,0x24(%ebp)
585509:	2b f3                	sub    %ebx,%esi
58550b:	83 7d 00 00          	cmpl   $0x0,0x0(%ebp)
58550f:	74 1f                	je     0x585530
585511:	6a 1f                	push   $0x1f
585513:	68 54 d3 65 00       	push   $0x65d354
585518:	6a 67                	push   $0x67
58551a:	6a 70                	push   $0x70
58551c:	6a 32                	push   $0x32
58551e:	e8 5d 3a f5 ff       	call   0x4d8f80
585523:	83 c4 14             	add    $0x14,%esp
585526:	68 80 00 00 00       	push   $0x80
58552b:	e9 d6 00 00 00       	jmp    0x585606
585530:	83 fe 04             	cmp    $0x4,%esi
585533:	77 0b                	ja     0x585540
585535:	6a 2a                	push   $0x2a
585537:	68 54 d3 65 00       	push   $0x65d354
58553c:	6a 6b                	push   $0x6b
58553e:	eb da                	jmp    0x58551a
585540:	0f b6 07             	movzbl (%edi),%eax
585543:	8d 4f 01             	lea    0x1(%edi),%ecx
585546:	88 45 28             	mov    %al,0x28(%ebp)
585549:	0f b6 01             	movzbl (%ecx),%eax
58554c:	41                   	inc    %ecx
58554d:	55                   	push   %ebp
58554e:	88 45 29             	mov    %al,0x29(%ebp)
585551:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
585555:	e8 66 f7 ff ff       	call   0x584cc0
58555a:	83 c4 04             	add    $0x4,%esp
58555d:	85 c0                	test   %eax,%eax
58555f:	75 0b                	jne    0x58556c
585561:	6a 33                	push   $0x33
585563:	68 54 d3 65 00       	push   $0x65d354
585568:	6a 6b                	push   $0x6b
58556a:	eb ae                	jmp    0x58551a
58556c:	8b 4c 24 28          	mov    0x28(%esp),%ecx
585570:	0f b6 19             	movzbl (%ecx),%ebx
585573:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
585577:	83 c1 02             	add    $0x2,%ecx
58557a:	c1 e3 08             	shl    $0x8,%ebx
58557d:	0b d8                	or     %eax,%ebx
58557f:	8b c7                	mov    %edi,%eax
585581:	2b c1                	sub    %ecx,%eax
585583:	03 c6                	add    %esi,%eax
585585:	89 44 24 28          	mov    %eax,0x28(%esp)
585589:	3b d8                	cmp    %eax,%ebx
58558b:	76 0b                	jbe    0x585598
58558d:	6a 3a                	push   $0x3a
58558f:	68 54 d3 65 00       	push   $0x65d354
585594:	6a 6b                	push   $0x6b
585596:	eb 82                	jmp    0x58551a
585598:	53                   	push   %ebx
585599:	51                   	push   %ecx
58559a:	55                   	push   %ebp
58559b:	e8 e0 f7 ff ff       	call   0x584d80
5855a0:	83 c4 0c             	add    $0xc,%esp
5855a3:	83 f8 01             	cmp    $0x1,%eax
5855a6:	0f 85 7a ff ff ff    	jne    0x585526
5855ac:	2b 5c 24 28          	sub    0x28(%esp),%ebx
5855b0:	03 de                	add    %esi,%ebx
5855b2:	85 db                	test   %ebx,%ebx
5855b4:	0f 8e 6c ff ff ff    	jle    0x585526
5855ba:	8d 04 37             	lea    (%edi,%esi,1),%eax
5855bd:	eb 21                	jmp    0x5855e0
5855bf:	68 87 00 00 00       	push   $0x87
5855c4:	68 54 d3 65 00       	push   $0x65d354
5855c9:	53                   	push   %ebx
5855ca:	57                   	push   %edi
5855cb:	e8 a0 ca f5 ff       	call   0x4e2070
5855d0:	83 c4 10             	add    $0x10,%esp
5855d3:	89 45 04             	mov    %eax,0x4(%ebp)
5855d6:	85 c0                	test   %eax,%eax
5855d8:	74 3f                	je     0x585619
5855da:	89 5d 08             	mov    %ebx,0x8(%ebp)
5855dd:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
5855e0:	8b 4c 24 24          	mov    0x24(%esp),%ecx
5855e4:	8b 74 24 20          	mov    0x20(%esp),%esi
5855e8:	89 01                	mov    %eax,(%ecx)
5855ea:	85 f6                	test   %esi,%esi
5855ec:	74 0c                	je     0x5855fa
5855ee:	ff 36                	push   (%esi)
5855f0:	e8 6b f6 ff ff       	call   0x584c60
5855f5:	83 c4 04             	add    $0x4,%esp
5855f8:	89 2e                	mov    %ebp,(%esi)
5855fa:	5f                   	pop    %edi
5855fb:	5e                   	pop    %esi
5855fc:	8b c5                	mov    %ebp,%eax
5855fe:	5d                   	pop    %ebp
5855ff:	5b                   	pop    %ebx
585600:	83 c4 0c             	add    $0xc,%esp
585603:	c3                   	ret
585604:	6a 4c                	push   $0x4c
585606:	68 54 d3 65 00       	push   $0x65d354
58560b:	6a 68                	push   $0x68
58560d:	6a 6e                	push   $0x6e
58560f:	6a 32                	push   $0x32
585611:	e8 6a 39 f5 ff       	call   0x4d8f80
585616:	83 c4 14             	add    $0x14,%esp
585619:	55                   	push   %ebp
58561a:	e8 41 f6 ff ff       	call   0x584c60
58561f:	83 c4 04             	add    $0x4,%esp
585622:	33 c0                	xor    %eax,%eax
585624:	5f                   	pop    %edi
585625:	5e                   	pop    %esi
585626:	5d                   	pop    %ebp
585627:	5b                   	pop    %ebx
585628:	83 c4 0c             	add    $0xc,%esp
58562b:	c3                   	ret
58562c:	cc                   	int3
58562d:	cc                   	int3
58562e:	cc                   	int3
58562f:	cc                   	int3
585630:	8b 54 24 0c          	mov    0xc(%esp),%edx
585634:	83 c2 fe             	add    $0xfffffffe,%edx
585637:	81 fa fd ff 00 00    	cmp    $0xfffd,%edx
58563d:	0f 87 2a 01 00 00    	ja     0x58576d
585643:	53                   	push   %ebx
585644:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
585648:	56                   	push   %esi
585649:	8b 0b                	mov    (%ebx),%ecx
58564b:	0f b6 31             	movzbl (%ecx),%esi
58564e:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
585652:	c1 e6 08             	shl    $0x8,%esi
585655:	0b f0                	or     %eax,%esi
585657:	8d 41 02             	lea    0x2(%ecx),%eax
58565a:	89 03                	mov    %eax,(%ebx)
58565c:	3b f2                	cmp    %edx,%esi
58565e:	74 1d                	je     0x58567d
585660:	68 0e 01 00 00       	push   $0x10e
585665:	68 54 d3 65 00       	push   $0x65d354
58566a:	6a 69                	push   $0x69
58566c:	6a 6f                	push   $0x6f
58566e:	6a 32                	push   $0x32
585670:	e8 0b 39 f5 ff       	call   0x4d8f80
585675:	83 c4 14             	add    $0x14,%esp
585678:	33 c0                	xor    %eax,%eax
58567a:	5e                   	pop    %esi
58567b:	5b                   	pop    %ebx
58567c:	c3                   	ret
58567d:	55                   	push   %ebp
58567e:	8b 6c 24 10          	mov    0x10(%esp),%ebp
585682:	57                   	push   %edi
585683:	85 ed                	test   %ebp,%ebp
585685:	74 2e                	je     0x5856b5
585687:	8b 7d 00             	mov    0x0(%ebp),%edi
58568a:	85 ff                	test   %edi,%edi
58568c:	74 27                	je     0x5856b5
58568e:	57                   	push   %edi
58568f:	e8 3c fa f5 ff       	call   0x4e50d0
585694:	83 c4 04             	add    $0x4,%esp
585697:	85 c0                	test   %eax,%eax
585699:	74 29                	je     0x5856c4
58569b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5856a0:	50                   	push   %eax
5856a1:	e8 ba f5 ff ff       	call   0x584c60
5856a6:	57                   	push   %edi
5856a7:	e8 24 fa f5 ff       	call   0x4e50d0