5dc4df:	89 5e 1c             	mov    %ebx,0x1c(%esi)
5dc4e2:	89 5e 20             	mov    %ebx,0x20(%esi)
5dc4e5:	88 5e 24             	mov    %bl,0x24(%esi)
5dc4e8:	89 5e 28             	mov    %ebx,0x28(%esi)
5dc4eb:	c7 46 0c 16 00 00 00 	movl   $0x16,0xc(%esi)
5dc4f2:	e9 45 ff ff ff       	jmp    0x5dc43c
5dc4f7:	c7 46 10 03 00 00 00 	movl   $0x3,0x10(%esi)
5dc4fe:	8a 01                	mov    (%ecx),%al
5dc500:	88 46 14             	mov    %al,0x14(%esi)
5dc503:	33 c0                	xor    %eax,%eax
5dc505:	80 39 25             	cmpb   $0x25,(%ecx)
5dc508:	53                   	push   %ebx
5dc509:	0f 94 c0             	sete   %al
5dc50c:	41                   	inc    %ecx
5dc50d:	03 c1                	add    %ecx,%eax
5dc50f:	8b ce                	mov    %esi,%ecx
5dc511:	89 46 08             	mov    %eax,0x8(%esi)
5dc514:	e8 e9 2f 00 00       	call   0x5df502
5dc519:	e9 20 ff ff ff       	jmp    0x5dc43e
5dc51e:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5dc522:	74 03                	je     0x5dc527
5dc524:	8b 01                	mov    (%ecx),%eax
5dc526:	c3                   	ret
5dc527:	6a 00                	push   $0x0
5dc529:	68 db 01 00 00       	push   $0x1db
5dc52e:	68 b0 33 67 00       	push   $0x6733b0
5dc533:	68 18 34 67 00       	push   $0x673418
5dc538:	68 74 34 67 00       	push   $0x673474
5dc53d:	e8 cb 9c ff ff       	call   0x5d620d
5dc542:	cc                   	int3
5dc543:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5dc547:	75 03                	jne    0x5dc54c
5dc549:	8b 01                	mov    (%ecx),%eax
5dc54b:	c3                   	ret
5dc54c:	6a 00                	push   $0x0
5dc54e:	68 e1 01 00 00       	push   $0x1e1
5dc553:	68 b0 33 67 00       	push   $0x6733b0
5dc558:	68 90 34 67 00       	push   $0x673490
5dc55d:	68 ec 34 67 00       	push   $0x6734ec
5dc562:	e8 a6 9c ff ff       	call   0x5d620d
5dc567:	cc                   	int3
5dc568:	8b ff                	mov    %edi,%edi
5dc56a:	55                   	push   %ebp
5dc56b:	8b ec                	mov    %esp,%ebp
5dc56d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5dc570:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5dc574:	74 1c                	je     0x5dc592
5dc576:	e8 a3 ff ff ff       	call   0x5dc51e
5dc57b:	8b c8                	mov    %eax,%ecx
5dc57d:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5dc581:	99                   	cltd
5dc582:	c1 e0 1f             	shl    $0x1f,%eax
5dc585:	0d 00 00 f0 7f       	or     $0x7ff00000,%eax
5dc58a:	83 21 00             	andl   $0x0,(%ecx)
5dc58d:	89 41 04             	mov    %eax,0x4(%ecx)
5dc590:	5d                   	pop    %ebp
5dc591:	c3                   	ret
5dc592:	e8 ac ff ff ff       	call   0x5dc543
5dc597:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
5dc59b:	c1 e1 1f             	shl    $0x1f,%ecx
5dc59e:	81 c9 00 00 80 7f    	or     $0x7f800000,%ecx
5dc5a4:	89 08                	mov    %ecx,(%eax)
5dc5a6:	5d                   	pop    %ebp
5dc5a7:	c3                   	ret
5dc5a8:	8b ff                	mov    %edi,%edi
5dc5aa:	55                   	push   %ebp
5dc5ab:	8b ec                	mov    %esp,%ebp
5dc5ad:	83 ec 24             	sub    $0x24,%esp
5dc5b0:	53                   	push   %ebx
5dc5b1:	56                   	push   %esi
5dc5b2:	8b 75 0c             	mov    0xc(%ebp),%esi
5dc5b5:	33 db                	xor    %ebx,%ebx
5dc5b7:	57                   	push   %edi
5dc5b8:	8b 7d 08             	mov    0x8(%ebp),%edi
5dc5bb:	3b f3                	cmp    %ebx,%esi
5dc5bd:	77 14                	ja     0x5dc5d3
5dc5bf:	83 ff ff             	cmp    $0xffffffff,%edi
5dc5c2:	77 0f                	ja     0x5dc5d3
5dc5c4:	0f bd cf             	bsr    %edi,%ecx
5dc5c7:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5dc5ca:	74 03                	je     0x5dc5cf
5dc5cc:	41                   	inc    %ecx
5dc5cd:	eb 14                	jmp    0x5dc5e3
5dc5cf:	8b cb                	mov    %ebx,%ecx
5dc5d1:	eb 10                	jmp    0x5dc5e3
5dc5d3:	0f bd ce             	bsr    %esi,%ecx
5dc5d6:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5dc5d9:	74 03                	je     0x5dc5de
5dc5db:	41                   	inc    %ecx
5dc5dc:	eb 02                	jmp    0x5dc5e0
5dc5de:	8b cb                	mov    %ebx,%ecx
5dc5e0:	83 c1 20             	add    $0x20,%ecx
5dc5e3:	8b 45 1c             	mov    0x1c(%ebp),%eax
5dc5e6:	8a 50 04             	mov    0x4(%eax),%dl
5dc5e9:	88 55 ff             	mov    %dl,-0x1(%ebp)
5dc5ec:	33 d2                	xor    %edx,%edx
5dc5ee:	38 55 ff             	cmp    %dl,-0x1(%ebp)
5dc5f1:	0f 94 c2             	sete   %dl
5dc5f4:	33 c0                	xor    %eax,%eax
5dc5f6:	4a                   	dec    %edx
5dc5f7:	83 e2 1d             	and    $0x1d,%edx
5dc5fa:	83 c2 18             	add    $0x18,%edx
5dc5fd:	2b d1                	sub    %ecx,%edx
5dc5ff:	8b 4d 10             	mov    0x10(%ebp),%ecx
5dc602:	2b ca                	sub    %edx,%ecx
5dc604:	89 55 f4             	mov    %edx,-0xc(%ebp)
5dc607:	38 45 ff             	cmp    %al,-0x1(%ebp)
5dc60a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5dc60d:	0f 94 c0             	sete   %al
5dc610:	48                   	dec    %eax
5dc611:	25 80 03 00 00       	and    $0x380,%eax
5dc616:	83 c0 7f             	add    $0x7f,%eax
5dc619:	89 45 ec             	mov    %eax,-0x14(%ebp)
5dc61c:	3b c8                	cmp    %eax,%ecx
5dc61e:	8b 45 1c             	mov    0x1c(%ebp),%eax
5dc621:	0f 8f 72 02 00 00    	jg     0x5dc899
5dc627:	33 c0                	xor    %eax,%eax
5dc629:	38 45 ff             	cmp    %al,-0x1(%ebp)
5dc62c:	0f 94 c0             	sete   %al
5dc62f:	48                   	dec    %eax
5dc630:	25 80 fc ff ff       	and    $0xfffffc80,%eax
5dc635:	83 c0 82             	add    $0xffffff82,%eax
5dc638:	3b c8                	cmp    %eax,%ecx
5dc63a:	0f 8d 3f 01 00 00    	jge    0x5dc77f
5dc640:	8b 45 ec             	mov    -0x14(%ebp),%eax
5dc643:	8b c8                	mov    %eax,%ecx
5dc645:	8b 55 10             	mov    0x10(%ebp),%edx
5dc648:	f7 d9                	neg    %ecx
5dc64a:	4a                   	dec    %edx
5dc64b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5dc64e:	03 d0                	add    %eax,%edx
5dc650:	89 55 ec             	mov    %edx,-0x14(%ebp)
5dc653:	85 d2                	test   %edx,%edx
5dc655:	0f 89 1c 01 00 00    	jns    0x5dc777
5dc65b:	8b c2                	mov    %edx,%eax
5dc65d:	f7 d8                	neg    %eax
5dc65f:	89 45 f0             	mov    %eax,-0x10(%ebp)
5dc662:	83 f8 40             	cmp    $0x40,%eax
5dc665:	0f 83 f8 00 00 00    	jae    0x5dc763
5dc66b:	8d 48 ff             	lea    -0x1(%eax),%ecx
5dc66e:	33 d2                	xor    %edx,%edx
5dc670:	33 c0                	xor    %eax,%eax
5dc672:	40                   	inc    %eax
5dc673:	e8 38 55 ff ff       	call   0x5d1bb0
5dc678:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5dc67b:	89 45 e8             	mov    %eax,-0x18(%ebp)
5dc67e:	83 c0 ff             	add    $0xffffffff,%eax
5dc681:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5dc684:	83 d2 ff             	adc    $0xffffffff,%edx
5dc687:	89 45 e0             	mov    %eax,-0x20(%ebp)
5dc68a:	33 c0                	xor    %eax,%eax
5dc68c:	89 55 dc             	mov    %edx,-0x24(%ebp)
5dc68f:	40                   	inc    %eax
5dc690:	33 d2                	xor    %edx,%edx
5dc692:	e8 19 55 ff ff       	call   0x5d1bb0
5dc697:	23 c7                	and    %edi,%eax
5dc699:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
5dc69d:	23 d6                	and    %esi,%edx
5dc69f:	0b c2                	or     %edx,%eax
5dc6a1:	75 03                	jne    0x5dc6a6
5dc6a3:	88 5d fd             	mov    %bl,-0x3(%ebp)
5dc6a6:	8b 45 e8             	mov    -0x18(%ebp),%eax
5dc6a9:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5dc6ac:	23 c7                	and    %edi,%eax
5dc6ae:	23 ce                	and    %esi,%ecx
5dc6b0:	0b c1                	or     %ecx,%eax
5dc6b2:	74 07                	je     0x5dc6bb
5dc6b4:	b1 01                	mov    $0x1,%cl
5dc6b6:	88 4d ff             	mov    %cl,-0x1(%ebp)
5dc6b9:	eb 05                	jmp    0x5dc6c0
5dc6bb:	8a cb                	mov    %bl,%cl
5dc6bd:	88 5d ff             	mov    %bl,-0x1(%ebp)
5dc6c0:	38 5d 18             	cmp    %bl,0x18(%ebp)
5dc6c3:	74 15                	je     0x5dc6da
5dc6c5:	8b 45 e0             	mov    -0x20(%ebp),%eax
5dc6c8:	8b 55 dc             	mov    -0x24(%ebp),%edx
5dc6cb:	23 c7                	and    %edi,%eax
5dc6cd:	23 d6                	and    %esi,%edx
5dc6cf:	0b c2                	or     %edx,%eax
5dc6d1:	75 07                	jne    0x5dc6da
5dc6d3:	8a c3                	mov    %bl,%al
5dc6d5:	88 5d fe             	mov    %bl,-0x2(%ebp)
5dc6d8:	eb 05                	jmp    0x5dc6df
5dc6da:	b0 01                	mov    $0x1,%al
5dc6dc:	88 45 fe             	mov    %al,-0x2(%ebp)
5dc6df:	84 c9                	test   %cl,%cl
5dc6e1:	75 04                	jne    0x5dc6e7
5dc6e3:	84 c0                	test   %al,%al
5dc6e5:	74 35                	je     0x5dc71c
5dc6e7:	e8 fb fe 00 00       	call   0x5ec5e7
5dc6ec:	85 c0                	test   %eax,%eax
5dc6ee:	74 1b                	je     0x5dc70b
5dc6f0:	3d 00 01 00 00       	cmp    $0x100,%eax
5dc6f5:	74 0f                	je     0x5dc706
5dc6f7:	3d 00 02 00 00       	cmp    $0x200,%eax
5dc6fc:	75 1e                	jne    0x5dc71c
5dc6fe:	8a 5d 14             	mov    0x14(%ebp),%bl
5dc701:	80 f3 01             	xor    $0x1,%bl
5dc704:	eb 16                	jmp    0x5dc71c
5dc706:	8a 5d 14             	mov    0x14(%ebp),%bl
5dc709:	eb 11                	jmp    0x5dc71c
5dc70b:	38 5d ff             	cmp    %bl,-0x1(%ebp)
5dc70e:	74 0c                	je     0x5dc71c
5dc710:	38 5d fe             	cmp    %bl,-0x2(%ebp)
5dc713:	75 05                	jne    0x5dc71a
5dc715:	38 5d fd             	cmp    %bl,-0x3(%ebp)
5dc718:	74 02                	je     0x5dc71c
5dc71a:	b3 01                	mov    $0x1,%bl
5dc71c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5dc71f:	8b c7                	mov    %edi,%eax
5dc721:	8b d6                	mov    %esi,%edx
5dc723:	e8 a8 57 ff ff       	call   0x5d1ed0
5dc728:	8b f8                	mov    %eax,%edi
5dc72a:	8b f2                	mov    %edx,%esi
5dc72c:	0f b6 c3             	movzbl %bl,%eax
5dc72f:	99                   	cltd
5dc730:	03 f8                	add    %eax,%edi
5dc732:	8b c7                	mov    %edi,%eax
5dc734:	13 f2                	adc    %edx,%esi
5dc736:	0b c6                	or     %esi,%eax
5dc738:	74 29                	je     0x5dc763
5dc73a:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5dc73d:	e8 d2 21 00 00       	call   0x5de914
5dc742:	3b f2                	cmp    %edx,%esi
5dc744:	0f 82 74 01 00 00    	jb     0x5dc8be
5dc74a:	77 08                	ja     0x5dc754
5dc74c:	3b f8                	cmp    %eax,%edi
5dc74e:	0f 86 6a 01 00 00    	jbe    0x5dc8be
5dc754:	8b 5d 10             	mov    0x10(%ebp),%ebx
5dc757:	2b 5d ec             	sub    -0x14(%ebp),%ebx
5dc75a:	2b 5d f4             	sub    -0xc(%ebp),%ebx
5dc75d:	4b                   	dec    %ebx
5dc75e:	e9 5e 01 00 00       	jmp    0x5dc8c1
5dc763:	ff 75 1c             	push   0x1c(%ebp)
5dc766:	ff 75 14             	push   0x14(%ebp)
5dc769:	e8 25 03 00 00       	call   0x5dca93
5dc76e:	59                   	pop    %ecx
5dc76f:	59                   	pop    %ecx
5dc770:	6a 02                	push   $0x2
5dc772:	e9 2f 01 00 00       	jmp    0x5dc8a6
5dc777:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5dc77a:	e9 32 01 00 00       	jmp    0x5dc8b1
5dc77f:	85 d2                	test   %edx,%edx
5dc781:	0f 89 25 01 00 00    	jns    0x5dc8ac
5dc787:	f7 da                	neg    %edx
5dc789:	89 55 f4             	mov    %edx,-0xc(%ebp)
5dc78c:	83 fa 40             	cmp    $0x40,%edx
5dc78f:	72 09                	jb     0x5dc79a
5dc791:	8b fb                	mov    %ebx,%edi
5dc793:	8b f3                	mov    %ebx,%esi
5dc795:	e9 c9 00 00 00       	jmp    0x5dc863
5dc79a:	33 c0                	xor    %eax,%eax
5dc79c:	8d 4a ff             	lea    -0x1(%edx),%ecx
5dc79f:	40                   	inc    %eax
5dc7a0:	33 d2                	xor    %edx,%edx
5dc7a2:	e8 09 54 ff ff       	call   0x5d1bb0
5dc7a7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5dc7aa:	89 45 dc             	mov    %eax,-0x24(%ebp)
5dc7ad:	83 c0 ff             	add    $0xffffffff,%eax
5dc7b0:	89 55 e0             	mov    %edx,-0x20(%ebp)
5dc7b3:	83 d2 ff             	adc    $0xffffffff,%edx
5dc7b6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5dc7b9:	33 c0                	xor    %eax,%eax
5dc7bb:	89 55 e8             	mov    %edx,-0x18(%ebp)
5dc7be:	40                   	inc    %eax
5dc7bf:	33 d2                	xor    %edx,%edx
5dc7c1:	e8 ea 53 ff ff       	call   0x5d1bb0
5dc7c6:	23 c7                	and    %edi,%eax
5dc7c8:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
5dc7cc:	23 d6                	and    %esi,%edx
5dc7ce:	0b c2                	or     %edx,%eax
5dc7d0:	75 03                	jne    0x5dc7d5
5dc7d2:	88 5d ff             	mov    %bl,-0x1(%ebp)
5dc7d5:	8b 45 dc             	mov    -0x24(%ebp),%eax
5dc7d8:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5dc7db:	23 c7                	and    %edi,%eax
5dc7dd:	23 ce                	and    %esi,%ecx
5dc7df:	0b c1                	or     %ecx,%eax
5dc7e1:	74 07                	je     0x5dc7ea
5dc7e3:	b1 01                	mov    $0x1,%cl
5dc7e5:	88 4d fd             	mov    %cl,-0x3(%ebp)
5dc7e8:	eb 05                	jmp    0x5dc7ef
5dc7ea:	8a cb                	mov    %bl,%cl
5dc7ec:	88 5d fd             	mov    %bl,-0x3(%ebp)
5dc7ef:	38 5d 18             	cmp    %bl,0x18(%ebp)
5dc7f2:	74 15                	je     0x5dc809
5dc7f4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5dc7f7:	8b 55 e8             	mov    -0x18(%ebp),%edx
5dc7fa:	23 c7                	and    %edi,%eax
5dc7fc:	23 d6                	and    %esi,%edx
5dc7fe:	0b c2                	or     %edx,%eax
5dc800:	75 07                	jne    0x5dc809
5dc802:	8a c3                	mov    %bl,%al
5dc804:	88 5d fe             	mov    %bl,-0x2(%ebp)
5dc807:	eb 05                	jmp    0x5dc80e
5dc809:	b0 01                	mov    $0x1,%al
5dc80b:	88 45 fe             	mov    %al,-0x2(%ebp)
5dc80e:	84 c9                	test   %cl,%cl
5dc810:	75 04                	jne    0x5dc816
5dc812:	84 c0                	test   %al,%al
5dc814:	74 35                	je     0x5dc84b
5dc816:	e8 cc fd 00 00       	call   0x5ec5e7
5dc81b:	85 c0                	test   %eax,%eax
5dc81d:	74 1b                	je     0x5dc83a
5dc81f:	3d 00 01 00 00       	cmp    $0x100,%eax
5dc824:	74 0f                	je     0x5dc835
5dc826:	3d 00 02 00 00       	cmp    $0x200,%eax
5dc82b:	75 1e                	jne    0x5dc84b
5dc82d:	8a 5d 14             	mov    0x14(%ebp),%bl
5dc830:	80 f3 01             	xor    $0x1,%bl
5dc833:	eb 16                	jmp    0x5dc84b
5dc835:	8a 5d 14             	mov    0x14(%ebp),%bl
5dc838:	eb 11                	jmp    0x5dc84b
5dc83a:	38 5d fd             	cmp    %bl,-0x3(%ebp)
5dc83d:	74 0c                	je     0x5dc84b
5dc83f:	38 5d fe             	cmp    %bl,-0x2(%ebp)
5dc842:	75 05                	jne    0x5dc849
5dc844:	38 5d ff             	cmp    %bl,-0x1(%ebp)
5dc847:	74 02                	je     0x5dc84b
5dc849:	b3 01                	mov    $0x1,%bl
5dc84b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5dc84e:	8b c7                	mov    %edi,%eax
5dc850:	8b d6                	mov    %esi,%edx
5dc852:	e8 79 56 ff ff       	call   0x5d1ed0
5dc857:	8b f8                	mov    %eax,%edi
5dc859:	8b f2                	mov    %edx,%esi
5dc85b:	0f b6 c3             	movzbl %bl,%eax
5dc85e:	99                   	cltd
5dc85f:	03 f8                	add    %eax,%edi
5dc861:	13 f2                	adc    %edx,%esi
5dc863:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5dc866:	e8 5b 26 00 00       	call   0x5deec6
5dc86b:	3b f2                	cmp    %edx,%esi
5dc86d:	72 4f                	jb     0x5dc8be
5dc86f:	77 04                	ja     0x5dc875
5dc871:	3b f8                	cmp    %eax,%edi
5dc873:	76 49                	jbe    0x5dc8be
5dc875:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5dc878:	33 c0                	xor    %eax,%eax
5dc87a:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5dc87d:	0f ac f7 01          	shrd   $0x1,%esi,%edi
5dc881:	d1 ee                	shr    $1,%esi
5dc883:	43                   	inc    %ebx
5dc884:	38 41 04             	cmp    %al,0x4(%ecx)
5dc887:	0f 94 c0             	sete   %al
5dc88a:	48                   	dec    %eax
5dc88b:	25 80 03 00 00       	and    $0x380,%eax
5dc890:	83 c0 7f             	add    $0x7f,%eax
5dc893:	3b d8                	cmp    %eax,%ebx
5dc895:	7e 2a                	jle    0x5dc8c1