48a3c0:	2b da                	sub    %edx,%ebx
48a3c2:	8d 43 fc             	lea    -0x4(%ebx),%eax
48a3c5:	83 f8 1f             	cmp    $0x1f,%eax
48a3c8:	0f 87 3b 02 00 00    	ja     0x48a609
48a3ce:	8b da                	mov    %edx,%ebx
48a3d0:	51                   	push   %ecx
48a3d1:	53                   	push   %ebx
48a3d2:	e8 9b 6c 15 00       	call   0x5e1072
48a3d7:	83 c4 08             	add    $0x8,%esp
48a3da:	eb 13                	jmp    0x48a3ef
48a3dc:	56                   	push   %esi
48a3dd:	57                   	push   %edi
48a3de:	e8 1d 8b 15 00       	call   0x5e2f00
48a3e3:	8a 4d 13             	mov    0x13(%ebp),%cl
48a3e6:	83 c4 0c             	add    $0xc,%esp
48a3e9:	88 0b                	mov    %cl,(%ebx)
48a3eb:	c6 43 01 00          	movb   $0x0,0x1(%ebx)
48a3ef:	89 3e                	mov    %edi,(%esi)
48a3f1:	8b 45 ec             	mov    -0x14(%ebp),%eax
48a3f4:	40                   	inc    %eax
48a3f5:	89 45 ec             	mov    %eax,-0x14(%ebp)
48a3f8:	83 f8 03             	cmp    $0x3,%eax
48a3fb:	0f 8c bf fe ff ff    	jl     0x48a2c0
48a401:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a404:	33 ff                	xor    %edi,%edi
48a406:	8b 45 0c             	mov    0xc(%ebp),%eax
48a409:	85 c0                	test   %eax,%eax
48a40b:	0f 85 ff fd ff ff    	jne    0x48a210
48a411:	85 ff                	test   %edi,%edi
48a413:	0f 84 d4 01 00 00    	je     0x48a5ed
48a419:	8b c7                	mov    %edi,%eax
48a41b:	83 ff 04             	cmp    $0x4,%edi
48a41e:	7d 14                	jge    0x48a434
48a420:	83 f8 04             	cmp    $0x4,%eax
48a423:	0f 83 d6 01 00 00    	jae    0x48a5ff
48a429:	c6 44 05 f8 00       	movb   $0x0,-0x8(%ebp,%eax,1)
48a42e:	40                   	inc    %eax
48a42f:	83 f8 04             	cmp    $0x4,%eax
48a432:	7c ef                	jl     0x48a423
48a434:	33 db                	xor    %ebx,%ebx
48a436:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
48a43d:	00 00 00
48a440:	0f b6 44 1d f8       	movzbl -0x8(%ebp,%ebx,1),%eax
48a445:	50                   	push   %eax
48a446:	68 e0 35 69 00       	push   $0x6935e0
48a44b:	e8 10 9c 15 00       	call   0x5e4060
48a450:	83 c4 08             	add    $0x8,%esp
48a453:	85 c0                	test   %eax,%eax
48a455:	74 0b                	je     0x48a462
48a457:	b9 e0 35 69 00       	mov    $0x6935e0,%ecx
48a45c:	2a c1                	sub    %cl,%al
48a45e:	88 44 1d f8          	mov    %al,-0x8(%ebp,%ebx,1)
48a462:	43                   	inc    %ebx
48a463:	83 fb 04             	cmp    $0x4,%ebx
48a466:	7c d8                	jl     0x48a440
48a468:	8b 45 f8             	mov    -0x8(%ebp),%eax
48a46b:	8a c8                	mov    %al,%cl
48a46d:	c0 e1 02             	shl    $0x2,%cl
48a470:	8a d4                	mov    %ah,%dl
48a472:	c0 ea 04             	shr    $0x4,%dl
48a475:	8a c4                	mov    %ah,%al
48a477:	80 e2 03             	and    $0x3,%dl
48a47a:	c0 e0 04             	shl    $0x4,%al
48a47d:	02 d1                	add    %cl,%dl
48a47f:	88 55 fc             	mov    %dl,-0x4(%ebp)
48a482:	8a 55 fa             	mov    -0x6(%ebp),%dl
48a485:	8a ca                	mov    %dl,%cl
48a487:	c0 e2 06             	shl    $0x6,%dl
48a48a:	02 55 fb             	add    -0x5(%ebp),%dl
48a48d:	c0 e9 02             	shr    $0x2,%cl
48a490:	80 e1 0f             	and    $0xf,%cl
48a493:	88 55 fe             	mov    %dl,-0x2(%ebp)
48a496:	02 c8                	add    %al,%cl
48a498:	33 c0                	xor    %eax,%eax
48a49a:	88 4d fd             	mov    %cl,-0x3(%ebp)
48a49d:	8d 4f ff             	lea    -0x1(%edi),%ecx
48a4a0:	89 45 f0             	mov    %eax,-0x10(%ebp)
48a4a3:	89 4d f4             	mov    %ecx,-0xc(%ebp)
48a4a6:	85 c9                	test   %ecx,%ecx
48a4a8:	0f 8e 3f 01 00 00    	jle    0x48a5ed
48a4ae:	66 90                	xchg   %ax,%ax
48a4b0:	8b 4e 10             	mov    0x10(%esi),%ecx
48a4b3:	8b 7e 14             	mov    0x14(%esi),%edi
48a4b6:	8a 54 05 fc          	mov    -0x4(%ebp,%eax,1),%dl
48a4ba:	88 55 0b             	mov    %dl,0xb(%ebp)
48a4bd:	89 4d 10             	mov    %ecx,0x10(%ebp)
48a4c0:	89 7d ec             	mov    %edi,-0x14(%ebp)
48a4c3:	3b cf                	cmp    %edi,%ecx
48a4c5:	73 1c                	jae    0x48a4e3
48a4c7:	8d 41 01             	lea    0x1(%ecx),%eax
48a4ca:	89 46 10             	mov    %eax,0x10(%esi)
48a4cd:	8b c6                	mov    %esi,%eax
48a4cf:	83 ff 10             	cmp    $0x10,%edi
48a4d2:	72 02                	jb     0x48a4d6
48a4d4:	8b 06                	mov    (%esi),%eax
48a4d6:	88 14 08             	mov    %dl,(%eax,%ecx,1)
48a4d9:	c6 44 08 01 00       	movb   $0x0,0x1(%eax,%ecx,1)
48a4de:	e9 fa 00 00 00       	jmp    0x48a5dd
48a4e3:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
48a4e8:	2b c1                	sub    %ecx,%eax
48a4ea:	83 f8 01             	cmp    $0x1,%eax
48a4ed:	0f 82 1b 01 00 00    	jb     0x48a60e
48a4f3:	8d 59 01             	lea    0x1(%ecx),%ebx
48a4f6:	83 cb 0f             	or     $0xf,%ebx
48a4f9:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
48a4ff:	76 07                	jbe    0x48a508
48a501:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
48a506:	eb 1e                	jmp    0x48a526
48a508:	8b d7                	mov    %edi,%edx
48a50a:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
48a50f:	d1 ea                	shr    $1,%edx
48a511:	2b c2                	sub    %edx,%eax
48a513:	3b f8                	cmp    %eax,%edi
48a515:	76 07                	jbe    0x48a51e
48a517:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
48a51c:	eb 08                	jmp    0x48a526
48a51e:	8d 04 3a             	lea    (%edx,%edi,1),%eax
48a521:	3b d8                	cmp    %eax,%ebx
48a523:	0f 42 d8             	cmovb  %eax,%ebx
48a526:	8d 43 01             	lea    0x1(%ebx),%eax
48a529:	3d 00 10 00 00       	cmp    $0x1000,%eax
48a52e:	72 2a                	jb     0x48a55a
48a530:	8d 48 23             	lea    0x23(%eax),%ecx
48a533:	3b c8                	cmp    %eax,%ecx
48a535:	0f 86 c9 00 00 00    	jbe    0x48a604
48a53b:	51                   	push   %ecx
48a53c:	e8 01 6b 15 00       	call   0x5e1042
48a541:	83 c4 04             	add    $0x4,%esp
48a544:	85 c0                	test   %eax,%eax
48a546:	0f 84 bd 00 00 00    	je     0x48a609
48a54c:	8b 4d 10             	mov    0x10(%ebp),%ecx
48a54f:	8d 78 23             	lea    0x23(%eax),%edi
48a552:	83 e7 e0             	and    $0xffffffe0,%edi
48a555:	89 47 fc             	mov    %eax,-0x4(%edi)
48a558:	eb 16                	jmp    0x48a570
48a55a:	85 c0                	test   %eax,%eax
48a55c:	74 10                	je     0x48a56e
48a55e:	50                   	push   %eax
48a55f:	e8 de 6a 15 00       	call   0x5e1042
48a564:	8b 4d 10             	mov    0x10(%ebp),%ecx
48a567:	83 c4 04             	add    $0x4,%esp
48a56a:	8b f8                	mov    %eax,%edi
48a56c:	eb 02                	jmp    0x48a570
48a56e:	33 ff                	xor    %edi,%edi
48a570:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
48a574:	8d 41 01             	lea    0x1(%ecx),%eax
48a577:	89 5e 14             	mov    %ebx,0x14(%esi)
48a57a:	8d 1c 0f             	lea    (%edi,%ecx,1),%ebx
48a57d:	89 46 10             	mov    %eax,0x10(%esi)
48a580:	89 5d 10             	mov    %ebx,0x10(%ebp)
48a583:	51                   	push   %ecx
48a584:	72 42                	jb     0x48a5c8
48a586:	8b 1e                	mov    (%esi),%ebx
48a588:	53                   	push   %ebx
48a589:	57                   	push   %edi
48a58a:	e8 71 89 15 00       	call   0x5e2f00
48a58f:	8b 45 10             	mov    0x10(%ebp),%eax
48a592:	83 c4 0c             	add    $0xc,%esp
48a595:	8a 4d 0b             	mov    0xb(%ebp),%cl
48a598:	88 08                	mov    %cl,(%eax)
48a59a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
48a59d:	41                   	inc    %ecx
48a59e:	c6 40 01 00          	movb   $0x0,0x1(%eax)
48a5a2:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
48a5a8:	72 12                	jb     0x48a5bc
48a5aa:	8b 53 fc             	mov    -0x4(%ebx),%edx
48a5ad:	83 c1 23             	add    $0x23,%ecx
48a5b0:	2b da                	sub    %edx,%ebx
48a5b2:	8d 43 fc             	lea    -0x4(%ebx),%eax
48a5b5:	83 f8 1f             	cmp    $0x1f,%eax
48a5b8:	77 4f                	ja     0x48a609
48a5ba:	8b da                	mov    %edx,%ebx
48a5bc:	51                   	push   %ecx
48a5bd:	53                   	push   %ebx
48a5be:	e8 af 6a 15 00       	call   0x5e1072
48a5c3:	83 c4 08             	add    $0x8,%esp
48a5c6:	eb 13                	jmp    0x48a5db
48a5c8:	56                   	push   %esi
48a5c9:	57                   	push   %edi
48a5ca:	e8 31 89 15 00       	call   0x5e2f00
48a5cf:	8a 4d 0b             	mov    0xb(%ebp),%cl
48a5d2:	83 c4 0c             	add    $0xc,%esp
48a5d5:	88 0b                	mov    %cl,(%ebx)
48a5d7:	c6 43 01 00          	movb   $0x0,0x1(%ebx)
48a5db:	89 3e                	mov    %edi,(%esi)
48a5dd:	8b 45 f0             	mov    -0x10(%ebp),%eax
48a5e0:	40                   	inc    %eax
48a5e1:	89 45 f0             	mov    %eax,-0x10(%ebp)
48a5e4:	3b 45 f4             	cmp    -0xc(%ebp),%eax
48a5e7:	0f 8c c3 fe ff ff    	jl     0x48a4b0
48a5ed:	5b                   	pop    %ebx
48a5ee:	8b 46 10             	mov    0x10(%esi),%eax
48a5f1:	5f                   	pop    %edi
48a5f2:	5e                   	pop    %esi
48a5f3:	8b e5                	mov    %ebp,%esp
48a5f5:	5d                   	pop    %ebp
48a5f6:	c3                   	ret
48a5f7:	5f                   	pop    %edi
48a5f8:	33 c0                	xor    %eax,%eax
48a5fa:	5e                   	pop    %esi
48a5fb:	8b e5                	mov    %ebp,%esp
48a5fd:	5d                   	pop    %ebp
48a5fe:	c3                   	ret
48a5ff:	e8 fc 6d 15 00       	call   0x5e1400
48a604:	e8 d7 a8 fb ff       	call   0x444ee0
48a609:	e8 21 29 16 00       	call   0x5ecf2f
48a60e:	e8 1d aa fb ff       	call   0x445030
48a613:	cc                   	int3
48a614:	cc                   	int3
48a615:	cc                   	int3
48a616:	cc                   	int3
48a617:	cc                   	int3
48a618:	cc                   	int3
48a619:	cc                   	int3
48a61a:	cc                   	int3
48a61b:	cc                   	int3
48a61c:	cc                   	int3
48a61d:	cc                   	int3
48a61e:	cc                   	int3
48a61f:	cc                   	int3
48a620:	55                   	push   %ebp
48a621:	8b ec                	mov    %esp,%ebp
48a623:	83 ec 18             	sub    $0x18,%esp
48a626:	33 c9                	xor    %ecx,%ecx
48a628:	56                   	push   %esi
48a629:	8b 75 10             	mov    0x10(%ebp),%esi
48a62c:	8b c6                	mov    %esi,%eax
48a62e:	89 4e 10             	mov    %ecx,0x10(%esi)
48a631:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
48a635:	72 02                	jb     0x48a639
48a637:	8b 06                	mov    (%esi),%eax
48a639:	8b 55 08             	mov    0x8(%ebp),%edx
48a63c:	88 08                	mov    %cl,(%eax)
48a63e:	85 d2                	test   %edx,%edx
48a640:	0f 84 d7 04 00 00    	je     0x48ab1d
48a646:	8b 45 0c             	mov    0xc(%ebp),%eax
48a649:	85 c0                	test   %eax,%eax
48a64b:	0f 84 cc 04 00 00    	je     0x48ab1d
48a651:	53                   	push   %ebx
48a652:	57                   	push   %edi
48a653:	48                   	dec    %eax
48a654:	89 45 0c             	mov    %eax,0xc(%ebp)
48a657:	8a 02                	mov    (%edx),%al
48a659:	42                   	inc    %edx
48a65a:	88 44 0d f8          	mov    %al,-0x8(%ebp,%ecx,1)
48a65e:	41                   	inc    %ecx
48a65f:	8a 65 fa             	mov    -0x6(%ebp),%ah
48a662:	8a 5d f9             	mov    -0x7(%ebp),%bl
48a665:	8a 7d f8             	mov    -0x8(%ebp),%bh
48a668:	89 4d 10             	mov    %ecx,0x10(%ebp)
48a66b:	89 55 08             	mov    %edx,0x8(%ebp)
48a66e:	88 65 fd             	mov    %ah,-0x3(%ebp)
48a671:	88 5d ff             	mov    %bl,-0x1(%ebp)
48a674:	88 7d fe             	mov    %bh,-0x2(%ebp)
48a677:	83 f9 03             	cmp    $0x3,%ecx
48a67a:	0f 85 96 01 00 00    	jne    0x48a816
48a680:	8a c7                	mov    %bh,%al
48a682:	8a cf                	mov    %bh,%cl
48a684:	c0 e8 02             	shr    $0x2,%al
48a687:	80 e1 03             	and    $0x3,%cl
48a68a:	88 45 f4             	mov    %al,-0xc(%ebp)
48a68d:	8a c3                	mov    %bl,%al
48a68f:	c0 e1 04             	shl    $0x4,%cl
48a692:	c0 e8 04             	shr    $0x4,%al
48a695:	02 c8                	add    %al,%cl
48a697:	8a c4                	mov    %ah,%al
48a699:	88 4d f5             	mov    %cl,-0xb(%ebp)
48a69c:	8a cb                	mov    %bl,%cl
48a69e:	80 e1 0f             	and    $0xf,%cl
48a6a1:	c0 e8 06             	shr    $0x6,%al
48a6a4:	c0 e1 02             	shl    $0x2,%cl
48a6a7:	02 c8                	add    %al,%cl
48a6a9:	8a c4                	mov    %ah,%al
48a6ab:	24 3f                	and    $0x3f,%al
48a6ad:	88 4d f6             	mov    %cl,-0xa(%ebp)
48a6b0:	88 45 f7             	mov    %al,-0x9(%ebp)
48a6b3:	33 c0                	xor    %eax,%eax
48a6b5:	89 45 e8             	mov    %eax,-0x18(%ebp)
48a6b8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
48a6bf:	00
48a6c0:	0f b6 44 05 f4       	movzbl -0xc(%ebp,%eax,1),%eax
48a6c5:	8b 4e 10             	mov    0x10(%esi),%ecx
48a6c8:	8b 7e 14             	mov    0x14(%esi),%edi
48a6cb:	89 4d f0             	mov    %ecx,-0x10(%ebp)
48a6ce:	8a 90 e0 35 69 00    	mov    0x6935e0(%eax),%dl
48a6d4:	88 55 13             	mov    %dl,0x13(%ebp)
48a6d7:	89 7d ec             	mov    %edi,-0x14(%ebp)
48a6da:	3b cf                	cmp    %edi,%ecx
48a6dc:	73 1c                	jae    0x48a6fa
48a6de:	8d 41 01             	lea    0x1(%ecx),%eax
48a6e1:	89 46 10             	mov    %eax,0x10(%esi)
48a6e4:	8b c6                	mov    %esi,%eax
48a6e6:	83 ff 10             	cmp    $0x10,%edi
48a6e9:	72 02                	jb     0x48a6ed
48a6eb:	8b 06                	mov    (%esi),%eax
48a6ed:	88 14 08             	mov    %dl,(%eax,%ecx,1)
48a6f0:	c6 44 08 01 00       	movb   $0x0,0x1(%eax,%ecx,1)
48a6f5:	e9 fe 00 00 00       	jmp    0x48a7f8
48a6fa:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
48a6ff:	2b c1                	sub    %ecx,%eax
48a701:	83 f8 01             	cmp    $0x1,%eax
48a704:	0f 82 29 04 00 00    	jb     0x48ab33
48a70a:	8d 59 01             	lea    0x1(%ecx),%ebx
48a70d:	83 cb 0f             	or     $0xf,%ebx
48a710:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
48a716:	76 07                	jbe    0x48a71f
48a718:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
48a71d:	eb 1e                	jmp    0x48a73d
48a71f:	8b d7                	mov    %edi,%edx
48a721:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
48a726:	d1 ea                	shr    $1,%edx
48a728:	2b c2                	sub    %edx,%eax
48a72a:	3b f8                	cmp    %eax,%edi
48a72c:	76 07                	jbe    0x48a735
48a72e:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
48a733:	eb 08                	jmp    0x48a73d
48a735:	8d 04 3a             	lea    (%edx,%edi,1),%eax
48a738:	3b d8                	cmp    %eax,%ebx
48a73a:	0f 42 d8             	cmovb  %eax,%ebx
48a73d:	8d 43 01             	lea    0x1(%ebx),%eax
48a740:	3d 00 10 00 00       	cmp    $0x1000,%eax
48a745:	72 2a                	jb     0x48a771
48a747:	8d 48 23             	lea    0x23(%eax),%ecx
48a74a:	3b c8                	cmp    %eax,%ecx
48a74c:	0f 86 d7 03 00 00    	jbe    0x48ab29
48a752:	51                   	push   %ecx
48a753:	e8 ea 68 15 00       	call   0x5e1042
48a758:	83 c4 04             	add    $0x4,%esp
48a75b:	85 c0                	test   %eax,%eax
48a75d:	0f 84 cb 03 00 00    	je     0x48ab2e
48a763:	8b 4d f0             	mov    -0x10(%ebp),%ecx
48a766:	8d 78 23             	lea    0x23(%eax),%edi
48a769:	83 e7 e0             	and    $0xffffffe0,%edi
48a76c:	89 47 fc             	mov    %eax,-0x4(%edi)
48a76f:	eb 16                	jmp    0x48a787
48a771:	85 c0                	test   %eax,%eax
48a773:	74 10                	je     0x48a785
48a775:	50                   	push   %eax
48a776:	e8 c7 68 15 00       	call   0x5e1042
48a77b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
48a77e:	83 c4 04             	add    $0x4,%esp
48a781:	8b f8                	mov    %eax,%edi
48a783:	eb 02                	jmp    0x48a787
48a785:	33 ff                	xor    %edi,%edi
48a787:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
48a78b:	8d 41 01             	lea    0x1(%ecx),%eax
48a78e:	89 5e 14             	mov    %ebx,0x14(%esi)
48a791:	8d 1c 0f             	lea    (%edi,%ecx,1),%ebx
48a794:	89 46 10             	mov    %eax,0x10(%esi)
48a797:	89 5d f0             	mov    %ebx,-0x10(%ebp)