4b43df:	83 c4 0c             	add    $0xc,%esp
4b43e2:	c3                   	ret
4b43e3:	cc                   	int3
4b43e4:	cc                   	int3
4b43e5:	cc                   	int3
4b43e6:	cc                   	int3
4b43e7:	cc                   	int3
4b43e8:	cc                   	int3
4b43e9:	cc                   	int3
4b43ea:	cc                   	int3
4b43eb:	cc                   	int3
4b43ec:	cc                   	int3
4b43ed:	cc                   	int3
4b43ee:	cc                   	int3
4b43ef:	cc                   	int3
4b43f0:	b8 04 00 00 00       	mov    $0x4,%eax
4b43f5:	e8 f6 d0 12 00       	call   0x5e14f0
4b43fa:	8b 54 24 08          	mov    0x8(%esp),%edx
4b43fe:	33 c9                	xor    %ecx,%ecx
4b4400:	32 c0                	xor    %al,%al
4b4402:	85 d2                	test   %edx,%edx
4b4404:	75 04                	jne    0x4b440a
4b4406:	33 c0                	xor    %eax,%eax
4b4408:	59                   	pop    %ecx
4b4409:	c3                   	ret
4b440a:	55                   	push   %ebp
4b440b:	8b 6a 04             	mov    0x4(%edx),%ebp
4b440e:	56                   	push   %esi
4b440f:	57                   	push   %edi
4b4410:	8b 3a                	mov    (%edx),%edi
4b4412:	81 e5 00 01 00 00    	and    $0x100,%ebp
4b4418:	85 ff                	test   %edi,%edi
4b441a:	75 07                	jne    0x4b4423
4b441c:	bf 01 00 00 00       	mov    $0x1,%edi
4b4421:	eb 4c                	jmp    0x4b446f
4b4423:	8b 72 08             	mov    0x8(%edx),%esi
4b4426:	0f b6 06             	movzbl (%esi),%eax
4b4429:	83 ff 01             	cmp    $0x1,%edi
4b442c:	75 08                	jne    0x4b4436
4b442e:	85 c0                	test   %eax,%eax
4b4430:	75 04                	jne    0x4b4436
4b4432:	33 ed                	xor    %ebp,%ebp
4b4434:	eb 35                	jmp    0x4b446b
4b4436:	85 ed                	test   %ebp,%ebp
4b4438:	75 0c                	jne    0x4b4446
4b443a:	83 f8 7f             	cmp    $0x7f,%eax
4b443d:	7e 2c                	jle    0x4b446b
4b443f:	8d 4d 01             	lea    0x1(%ebp),%ecx
4b4442:	32 c0                	xor    %al,%al
4b4444:	eb 27                	jmp    0x4b446d
4b4446:	3d 80 00 00 00       	cmp    $0x80,%eax
4b444b:	7e 09                	jle    0x4b4456
4b444d:	b9 01 00 00 00       	mov    $0x1,%ecx
4b4452:	0c ff                	or     $0xff,%al
4b4454:	eb 17                	jmp    0x4b446d
4b4456:	75 13                	jne    0x4b446b
4b4458:	b8 01 00 00 00       	mov    $0x1,%eax
4b445d:	3b f8                	cmp    %eax,%edi
4b445f:	7e 0a                	jle    0x4b446b
4b4461:	38 0c 06             	cmp    %cl,(%esi,%eax,1)
4b4464:	75 e7                	jne    0x4b444d
4b4466:	40                   	inc    %eax
4b4467:	3b c7                	cmp    %edi,%eax
4b4469:	7c f6                	jl     0x4b4461
4b446b:	8a c1                	mov    %cl,%al
4b446d:	03 f9                	add    %ecx,%edi
4b446f:	53                   	push   %ebx
4b4470:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4b4474:	85 db                	test   %ebx,%ebx
4b4476:	74 7c                	je     0x4b44f4
4b4478:	8b 33                	mov    (%ebx),%esi
4b447a:	85 c9                	test   %ecx,%ecx
4b447c:	74 03                	je     0x4b4481
4b447e:	88 06                	mov    %al,(%esi)
4b4480:	46                   	inc    %esi
4b4481:	8b 0a                	mov    (%edx),%ecx
4b4483:	85 c9                	test   %ecx,%ecx
4b4485:	75 0c                	jne    0x4b4493
4b4487:	88 0e                	mov    %cl,(%esi)
4b4489:	8b c7                	mov    %edi,%eax
4b448b:	01 3b                	add    %edi,(%ebx)
4b448d:	5b                   	pop    %ebx
4b448e:	5f                   	pop    %edi
4b448f:	5e                   	pop    %esi
4b4490:	5d                   	pop    %ebp
4b4491:	59                   	pop    %ecx
4b4492:	c3                   	ret
4b4493:	85 ed                	test   %ebp,%ebp
4b4495:	75 17                	jne    0x4b44ae
4b4497:	51                   	push   %ecx
4b4498:	ff 72 08             	push   0x8(%edx)
4b449b:	56                   	push   %esi
4b449c:	e8 5f ea 12 00       	call   0x5e2f00
4b44a1:	83 c4 0c             	add    $0xc,%esp
4b44a4:	8b c7                	mov    %edi,%eax
4b44a6:	01 3b                	add    %edi,(%ebx)
4b44a8:	5b                   	pop    %ebx
4b44a9:	5f                   	pop    %edi
4b44aa:	5e                   	pop    %esi
4b44ab:	5d                   	pop    %ebp
4b44ac:	59                   	pop    %ecx
4b44ad:	c3                   	ret
4b44ae:	8b 42 08             	mov    0x8(%edx),%eax
4b44b1:	4e                   	dec    %esi
4b44b2:	8d 51 ff             	lea    -0x1(%ecx),%edx
4b44b5:	03 f1                	add    %ecx,%esi
4b44b7:	03 d0                	add    %eax,%edx
4b44b9:	80 3a 00             	cmpb   $0x0,(%edx)
4b44bc:	75 12                	jne    0x4b44d0
4b44be:	66 90                	xchg   %ax,%ax
4b44c0:	83 f9 01             	cmp    $0x1,%ecx
4b44c3:	7e 0b                	jle    0x4b44d0
4b44c5:	4a                   	dec    %edx
4b44c6:	c6 06 00             	movb   $0x0,(%esi)
4b44c9:	4e                   	dec    %esi
4b44ca:	49                   	dec    %ecx
4b44cb:	80 3a 00             	cmpb   $0x0,(%edx)
4b44ce:	74 f0                	je     0x4b44c0
4b44d0:	8a 02                	mov    (%edx),%al
4b44d2:	49                   	dec    %ecx
4b44d3:	f6 d0                	not    %al
4b44d5:	4a                   	dec    %edx
4b44d6:	fe c0                	inc    %al
4b44d8:	88 06                	mov    %al,(%esi)
4b44da:	4e                   	dec    %esi
4b44db:	85 c9                	test   %ecx,%ecx
4b44dd:	7e 13                	jle    0x4b44f2
4b44df:	90                   	nop
4b44e0:	8a 02                	mov    (%edx),%al
4b44e2:	8d 76 ff             	lea    -0x1(%esi),%esi
4b44e5:	f6 d0                	not    %al
4b44e7:	8d 52 ff             	lea    -0x1(%edx),%edx
4b44ea:	49                   	dec    %ecx
4b44eb:	88 46 01             	mov    %al,0x1(%esi)
4b44ee:	85 c9                	test   %ecx,%ecx
4b44f0:	7f ee                	jg     0x4b44e0
4b44f2:	01 3b                	add    %edi,(%ebx)
4b44f4:	5b                   	pop    %ebx
4b44f5:	8b c7                	mov    %edi,%eax
4b44f7:	5f                   	pop    %edi
4b44f8:	5e                   	pop    %esi
4b44f9:	5d                   	pop    %ebp
4b44fa:	59                   	pop    %ecx
4b44fb:	c3                   	ret
4b44fc:	cc                   	int3
4b44fd:	cc                   	int3
4b44fe:	cc                   	int3
4b44ff:	cc                   	int3
4b4500:	b8 0c 00 00 00       	mov    $0xc,%eax
4b4505:	e8 e6 cf 12 00       	call   0x5e14f0
4b450a:	55                   	push   %ebp
4b450b:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4b450f:	85 ed                	test   %ebp,%ebp
4b4511:	79 22                	jns    0x4b4535
4b4513:	68 8d 00 00 00       	push   $0x8d
4b4518:	68 dc a7 6a 00       	push   $0x6aa7dc
4b451d:	6a 77                	push   $0x77
4b451f:	68 91 00 00 00       	push   $0x91
4b4524:	6a 03                	push   $0x3
4b4526:	e8 75 cf fe ff       	call   0x4a14a0
4b452b:	83 c4 14             	add    $0x14,%esp
4b452e:	33 c0                	xor    %eax,%eax
4b4530:	5d                   	pop    %ebp
4b4531:	83 c4 0c             	add    $0xc,%esp
4b4534:	c3                   	ret
4b4535:	8b 44 24 18          	mov    0x18(%esp),%eax
4b4539:	53                   	push   %ebx
4b453a:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4b453e:	57                   	push   %edi
4b453f:	8b 40 0c             	mov    0xc(%eax),%eax
4b4542:	89 43 0c             	mov    %eax,0xc(%ebx)
4b4545:	8b c5                	mov    %ebp,%eax
4b4547:	99                   	cltd
4b4548:	83 e2 1f             	and    $0x1f,%edx
4b454b:	8d 3c 02             	lea    (%edx,%eax,1),%edi
4b454e:	8b 54 24 20          	mov    0x20(%esp),%edx
4b4552:	c1 ff 05             	sar    $0x5,%edi
4b4555:	89 7c 24 14          	mov    %edi,0x14(%esp)
4b4559:	8b 42 04             	mov    0x4(%edx),%eax
4b455c:	40                   	inc    %eax
4b455d:	03 c7                	add    %edi,%eax
4b455f:	3b 43 08             	cmp    0x8(%ebx),%eax
4b4562:	7f 04                	jg     0x4b4568
4b4564:	8b c3                	mov    %ebx,%eax
4b4566:	eb 0e                	jmp    0x4b4576
4b4568:	50                   	push   %eax
4b4569:	53                   	push   %ebx
4b456a:	e8 31 f1 ff ff       	call   0x4b36a0
4b456f:	8b 54 24 28          	mov    0x28(%esp),%edx
4b4573:	83 c4 08             	add    $0x8,%esp
4b4576:	85 c0                	test   %eax,%eax
4b4578:	75 07                	jne    0x4b4581
4b457a:	5f                   	pop    %edi
4b457b:	5b                   	pop    %ebx
4b457c:	5d                   	pop    %ebp
4b457d:	83 c4 0c             	add    $0xc,%esp
4b4580:	c3                   	ret
4b4581:	56                   	push   %esi
4b4582:	81 e5 1f 00 00 80    	and    $0x8000001f,%ebp
4b4588:	79 05                	jns    0x4b458f
4b458a:	4d                   	dec    %ebp
4b458b:	83 cd e0             	or     $0xffffffe0,%ebp
4b458e:	45                   	inc    %ebp
4b458f:	8b 03                	mov    (%ebx),%eax
4b4591:	b9 20 00 00 00       	mov    $0x20,%ecx
4b4596:	8b 32                	mov    (%edx),%esi
4b4598:	2b cd                	sub    %ebp,%ecx
4b459a:	89 44 24 28          	mov    %eax,0x28(%esp)
4b459e:	8b 42 04             	mov    0x4(%edx),%eax
4b45a1:	8b 5c 24 28          	mov    0x28(%esp),%ebx
4b45a5:	03 c7                	add    %edi,%eax
4b45a7:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4b45ab:	89 74 24 10          	mov    %esi,0x10(%esp)
4b45af:	c7 04 83 00 00 00 00 	movl   $0x0,(%ebx,%eax,4)
4b45b6:	8b 5c 24 20          	mov    0x20(%esp),%ebx
4b45ba:	85 ed                	test   %ebp,%ebp
4b45bc:	75 22                	jne    0x4b45e0
4b45be:	8b 4a 04             	mov    0x4(%edx),%ecx
4b45c1:	83 e9 01             	sub    $0x1,%ecx
4b45c4:	78 54                	js     0x4b461a
4b45c6:	8b 54 24 28          	mov    0x28(%esp),%edx
4b45ca:	8d 04 39             	lea    (%ecx,%edi,1),%eax
4b45cd:	8d 14 82             	lea    (%edx,%eax,4),%edx
4b45d0:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
4b45d3:	8d 52 fc             	lea    -0x4(%edx),%edx
4b45d6:	83 e9 01             	sub    $0x1,%ecx
4b45d9:	89 42 04             	mov    %eax,0x4(%edx)
4b45dc:	79 f2                	jns    0x4b45d0
4b45de:	eb 3a                	jmp    0x4b461a
4b45e0:	8b 72 04             	mov    0x4(%edx),%esi
4b45e3:	83 ee 01             	sub    $0x1,%esi
4b45e6:	78 32                	js     0x4b461a
4b45e8:	8b 54 24 28          	mov    0x28(%esp),%edx
4b45ec:	47                   	inc    %edi
4b45ed:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4b45f1:	03 fe                	add    %esi,%edi
4b45f3:	8d 3c ba             	lea    (%edx,%edi,4),%edi
4b45f6:	8b 14 b3             	mov    (%ebx,%esi,4),%edx
4b45f9:	8d 7f fc             	lea    -0x4(%edi),%edi
4b45fc:	8b c2                	mov    %edx,%eax
4b45fe:	d3 e8                	shr    %cl,%eax
4b4600:	8b cd                	mov    %ebp,%ecx
4b4602:	09 47 04             	or     %eax,0x4(%edi)
4b4605:	d3 e2                	shl    %cl,%edx
4b4607:	83 ee 01             	sub    $0x1,%esi
4b460a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4b460e:	89 17                	mov    %edx,(%edi)
4b4610:	79 e4                	jns    0x4b45f6
4b4612:	8b 5c 24 20          	mov    0x20(%esp),%ebx
4b4616:	8b 7c 24 18          	mov    0x18(%esp),%edi
4b461a:	8d 04 bd 00 00 00 00 	lea    0x0(,%edi,4),%eax
4b4621:	50                   	push   %eax
4b4622:	6a 00                	push   $0x0
4b4624:	ff 74 24 30          	push   0x30(%esp)
4b4628:	e8 d3 f3 12 00       	call   0x5e3a00
4b462d:	8b 44 24 30          	mov    0x30(%esp),%eax
4b4631:	83 c4 0c             	add    $0xc,%esp
4b4634:	8b 48 04             	mov    0x4(%eax),%ecx
4b4637:	41                   	inc    %ecx
4b4638:	03 cf                	add    %edi,%ecx
4b463a:	89 4b 04             	mov    %ecx,0x4(%ebx)
4b463d:	5e                   	pop    %esi
4b463e:	85 c9                	test   %ecx,%ecx
4b4640:	7e 1f                	jle    0x4b4661
4b4642:	8b 03                	mov    (%ebx),%eax
4b4644:	8d 51 ff             	lea    -0x1(%ecx),%edx
4b4647:	8d 14 90             	lea    (%eax,%edx,4),%edx
4b464a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4b4650:	8b 02                	mov    (%edx),%eax
4b4652:	8d 52 fc             	lea    -0x4(%edx),%edx
4b4655:	85 c0                	test   %eax,%eax
4b4657:	75 05                	jne    0x4b465e
4b4659:	49                   	dec    %ecx
4b465a:	85 c9                	test   %ecx,%ecx
4b465c:	7f f2                	jg     0x4b4650
4b465e:	89 4b 04             	mov    %ecx,0x4(%ebx)
4b4661:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4b4665:	75 07                	jne    0x4b466e
4b4667:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
4b466e:	5f                   	pop    %edi
4b466f:	5b                   	pop    %ebx
4b4670:	b8 01 00 00 00       	mov    $0x1,%eax
4b4675:	5d                   	pop    %ebp
4b4676:	83 c4 0c             	add    $0xc,%esp
4b4679:	c3                   	ret
4b467a:	cc                   	int3
4b467b:	cc                   	int3
4b467c:	cc                   	int3
4b467d:	cc                   	int3
4b467e:	cc                   	int3
4b467f:	cc                   	int3
4b4680:	56                   	push   %esi
4b4681:	8b 74 24 08          	mov    0x8(%esp),%esi
4b4685:	57                   	push   %edi
4b4686:	8b 7c 24 10          	mov    0x10(%esp),%edi
4b468a:	3b f7                	cmp    %edi,%esi
4b468c:	74 2e                	je     0x4b46bc
4b468e:	8b 47 0c             	mov    0xc(%edi),%eax
4b4691:	89 46 0c             	mov    %eax,0xc(%esi)
4b4694:	8b 47 04             	mov    0x4(%edi),%eax
4b4697:	40                   	inc    %eax
4b4698:	3b 46 08             	cmp    0x8(%esi),%eax
4b469b:	7f 04                	jg     0x4b46a1
4b469d:	8b c6                	mov    %esi,%eax
4b469f:	eb 0a                	jmp    0x4b46ab
4b46a1:	50                   	push   %eax
4b46a2:	56                   	push   %esi
4b46a3:	e8 f8 ef ff ff       	call   0x4b36a0
4b46a8:	83 c4 08             	add    $0x8,%esp
4b46ab:	85 c0                	test   %eax,%eax
4b46ad:	75 05                	jne    0x4b46b4
4b46af:	5f                   	pop    %edi
4b46b0:	33 c0                	xor    %eax,%eax
4b46b2:	5e                   	pop    %esi
4b46b3:	c3                   	ret
4b46b4:	8b 47 04             	mov    0x4(%edi),%eax
4b46b7:	89 46 04             	mov    %eax,0x4(%esi)
4b46ba:	eb 1b                	jmp    0x4b46d7
4b46bc:	8b 47 04             	mov    0x4(%edi),%eax
4b46bf:	40                   	inc    %eax
4b46c0:	3b 46 08             	cmp    0x8(%esi),%eax
4b46c3:	7f 04                	jg     0x4b46c9
4b46c5:	8b c6                	mov    %esi,%eax
4b46c7:	eb 0a                	jmp    0x4b46d3
4b46c9:	50                   	push   %eax
4b46ca:	56                   	push   %esi
4b46cb:	e8 d0 ef ff ff       	call   0x4b36a0
4b46d0:	83 c4 08             	add    $0x8,%esp
4b46d3:	85 c0                	test   %eax,%eax
4b46d5:	74 d8                	je     0x4b46af
4b46d7:	53                   	push   %ebx
4b46d8:	8b 1e                	mov    (%esi),%ebx
4b46da:	33 d2                	xor    %edx,%edx
4b46dc:	55                   	push   %ebp
4b46dd:	8b 2f                	mov    (%edi),%ebp
4b46df:	39 57 04             	cmp    %edx,0x4(%edi)
4b46e2:	7e 2f                	jle    0x4b4713
4b46e4:	33 f6                	xor    %esi,%esi
4b46e6:	8b 4d 00             	mov    0x0(%ebp),%ecx
4b46e9:	8d 6d 04             	lea    0x4(%ebp),%ebp
4b46ec:	46                   	inc    %esi
4b46ed:	8d 5b 04             	lea    0x4(%ebx),%ebx
4b46f0:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
4b46f3:	0b c2                	or     %edx,%eax
4b46f5:	8b d1                	mov    %ecx,%edx
4b46f7:	89 43 fc             	mov    %eax,-0x4(%ebx)
4b46fa:	c1 ea 1f             	shr    $0x1f,%edx
4b46fd:	3b 77 04             	cmp    0x4(%edi),%esi
4b4700:	7c e4                	jl     0x4b46e6
4b4702:	8b 74 24 14          	mov    0x14(%esp),%esi