47bf16:	be 00 00 80 7f       	mov    $0x7f800000,%esi
47bf1b:	38 90 08 03 00 00    	cmp    %dl,0x308(%eax)
47bf21:	8b 01                	mov    (%ecx),%eax
47bf23:	0f 94 c2             	sete   %dl
47bf26:	23 c6                	and    %esi,%eax
47bf28:	4a                   	dec    %edx
47bf29:	81 e2 00 00 00 80    	and    $0x80000000,%edx
47bf2f:	03 d6                	add    %esi,%edx
47bf31:	0b d0                	or     %eax,%edx
47bf33:	81 e2 01 00 80 ff    	and    $0xff800001,%edx
47bf39:	83 ca 01             	or     $0x1,%edx
47bf3c:	eb af                	jmp    0x47beed
47bf3e:	8b 45 10             	mov    0x10(%ebp),%eax
47bf41:	c7 00 00 00 c0 ff    	movl   $0xffc00000,(%eax)
47bf47:	e9 6f ff ff ff       	jmp    0x47bebb
47bf4c:	8b 45 10             	mov    0x10(%ebp),%eax
47bf4f:	83 20 00             	andl   $0x0,(%eax)
47bf52:	33 c0                	xor    %eax,%eax
47bf54:	40                   	inc    %eax
47bf55:	5e                   	pop    %esi
47bf56:	5d                   	pop    %ebp
47bf57:	c3                   	ret
47bf58:	8b 45 0c             	mov    0xc(%ebp),%eax
47bf5b:	6a 02                	push   $0x2
47bf5d:	0f b6 88 08 03 00 00 	movzbl 0x308(%eax),%ecx
47bf64:	b8 00 00 00 80       	mov    $0x80000000,%eax
47bf69:	f7 d9                	neg    %ecx
47bf6b:	1b c9                	sbb    %ecx,%ecx
47bf6d:	23 c8                	and    %eax,%ecx
47bf6f:	23 c8                	and    %eax,%ecx
47bf71:	8b 45 10             	mov    0x10(%ebp),%eax
47bf74:	89 08                	mov    %ecx,(%eax)
47bf76:	58                   	pop    %eax
47bf77:	eb dc                	jmp    0x47bf55
47bf79:	8b 45 0c             	mov    0xc(%ebp),%eax
47bf7c:	33 d2                	xor    %edx,%edx
47bf7e:	8b 4d 10             	mov    0x10(%ebp),%ecx
47bf81:	be 00 00 80 7f       	mov    $0x7f800000,%esi
47bf86:	6a 03                	push   $0x3
47bf88:	38 90 08 03 00 00    	cmp    %dl,0x308(%eax)
47bf8e:	8b 01                	mov    (%ecx),%eax
47bf90:	0f 94 c2             	sete   %dl
47bf93:	23 c6                	and    %esi,%eax
47bf95:	4a                   	dec    %edx
47bf96:	81 e2 00 00 00 80    	and    $0x80000000,%edx
47bf9c:	03 d6                	add    %esi,%edx
47bf9e:	0b d0                	or     %eax,%edx
47bfa0:	81 e2 00 00 80 ff    	and    $0xff800000,%edx
47bfa6:	89 11                	mov    %edx,(%ecx)
47bfa8:	eb cc                	jmp    0x47bf76
47bfaa:	90                   	nop
47bfab:	80 be 47 00 92 be 47 	cmpb   $0x47,-0x416dffb9(%esi)
47bfb2:	00 9f be 47 00 c2    	add    %bl,-0x3dffb842(%edi)
47bfb8:	be 47 00 f1 be       	mov    $0xbef10047,%esi
47bfbd:	47                   	inc    %edi
47bfbe:	00 0e                	add    %cl,(%esi)
47bfc0:	bf 47 00 3e bf       	mov    $0xbf3e0047,%edi
47bfc5:	47                   	inc    %edi
47bfc6:	00 4c bf 47          	add    %cl,0x47(%edi,%edi,4)
47bfca:	00 58 bf             	add    %bl,-0x41(%eax)
47bfcd:	47                   	inc    %edi
47bfce:	00 79 bf             	add    %bh,-0x41(%ecx)
47bfd1:	47                   	inc    %edi
47bfd2:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
47bfd8:	8b 45 08             	mov    0x8(%ebp),%eax
47bfdb:	83 f8 09             	cmp    $0x9,%eax
47bfde:	0f 87 a9 00 00 00    	ja     0x47c08d
47bfe4:	ff 24 85 cf c0 47 00 	jmp    *0x47c0cf(,%eax,4)
47bfeb:	ff 75 10             	push   0x10(%ebp)
47bfee:	ff 75 0c             	push   0xc(%ebp)
47bff1:	e8 eb e7 ff ff       	call   0x47a7e1
47bff6:	59                   	pop    %ecx
47bff7:	59                   	pop    %ecx
47bff8:	5d                   	pop    %ebp
47bff9:	c3                   	ret
47bffa:	ff 75 10             	push   0x10(%ebp)
47bffd:	ff 75 0c             	push   0xc(%ebp)
47c000:	e8 1e e8 ff ff       	call   0x47a823
47c005:	eb ef                	jmp    0x47bff6
47c007:	8b 45 0c             	mov    0xc(%ebp),%eax
47c00a:	33 c9                	xor    %ecx,%ecx
47c00c:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
47c012:	0f 95 c1             	setne  %cl
47c015:	c1 e1 1f             	shl    $0x1f,%ecx
47c018:	8b 45 10             	mov    0x10(%ebp),%eax
47c01b:	83 20 00             	andl   $0x0,(%eax)
47c01e:	89 48 04             	mov    %ecx,0x4(%eax)
47c021:	33 c0                	xor    %eax,%eax
47c023:	5d                   	pop    %ebp
47c024:	c3                   	ret
47c025:	8b 45 0c             	mov    0xc(%ebp),%eax
47c028:	33 c9                	xor    %ecx,%ecx
47c02a:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
47c030:	0f 95 c1             	setne  %cl
47c033:	c1 e1 1f             	shl    $0x1f,%ecx
47c036:	81 c9 00 00 f0 7f    	or     $0x7ff00000,%ecx
47c03c:	eb da                	jmp    0x47c018
47c03e:	8b 45 0c             	mov    0xc(%ebp),%eax
47c041:	33 c9                	xor    %ecx,%ecx
47c043:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
47c049:	8b 45 10             	mov    0x10(%ebp),%eax
47c04c:	0f 95 c1             	setne  %cl
47c04f:	c1 e1 1f             	shl    $0x1f,%ecx
47c052:	81 c9 ff ff ff 7f    	or     $0x7fffffff,%ecx
47c058:	83 08 ff             	orl    $0xffffffff,(%eax)
47c05b:	eb c1                	jmp    0x47c01e
47c05d:	8b 45 0c             	mov    0xc(%ebp),%eax
47c060:	ff 75 10             	push   0x10(%ebp)
47c063:	0f b6 80 08 03 00 00 	movzbl 0x308(%eax),%eax
47c06a:	50                   	push   %eax
47c06b:	e8 1c e5 ff ff       	call   0x47a58c
47c070:	59                   	pop    %ecx
47c071:	59                   	pop    %ecx
47c072:	eb ad                	jmp    0x47c021
47c074:	8b 45 10             	mov    0x10(%ebp),%eax
47c077:	83 20 00             	andl   $0x0,(%eax)
47c07a:	c7 40 04 00 00 f8 ff 	movl   $0xfff80000,0x4(%eax)
47c081:	eb 9e                	jmp    0x47c021
47c083:	8b 45 10             	mov    0x10(%ebp),%eax
47c086:	83 20 00             	andl   $0x0,(%eax)
47c089:	83 60 04 00          	andl   $0x0,0x4(%eax)
47c08d:	33 c0                	xor    %eax,%eax
47c08f:	40                   	inc    %eax
47c090:	5d                   	pop    %ebp
47c091:	c3                   	ret
47c092:	8b 45 0c             	mov    0xc(%ebp),%eax
47c095:	33 c9                	xor    %ecx,%ecx
47c097:	6a 02                	push   $0x2
47c099:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
47c09f:	0f 95 c1             	setne  %cl
47c0a2:	c1 e1 1f             	shl    $0x1f,%ecx
47c0a5:	8b 45 10             	mov    0x10(%ebp),%eax
47c0a8:	83 20 00             	andl   $0x0,(%eax)
47c0ab:	89 48 04             	mov    %ecx,0x4(%eax)
47c0ae:	58                   	pop    %eax
47c0af:	5d                   	pop    %ebp
47c0b0:	c3                   	ret
47c0b1:	8b 45 0c             	mov    0xc(%ebp),%eax
47c0b4:	33 c9                	xor    %ecx,%ecx
47c0b6:	6a 03                	push   $0x3
47c0b8:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
47c0be:	0f 95 c1             	setne  %cl
47c0c1:	c1 e1 1f             	shl    $0x1f,%ecx
47c0c4:	81 c9 00 00 f0 7f    	or     $0x7ff00000,%ecx
47c0ca:	eb d9                	jmp    0x47c0a5
47c0cc:	8d 49 00             	lea    0x0(%ecx),%ecx
47c0cf:	eb bf                	jmp    0x47c090
47c0d1:	47                   	inc    %edi
47c0d2:	00 fa                	add    %bh,%dl
47c0d4:	bf 47 00 07 c0       	mov    $0xc0070047,%edi
47c0d9:	47                   	inc    %edi
47c0da:	00 25 c0 47 00 3e    	add    %ah,0x3e0047c0
47c0e0:	c0 47 00 5d          	rolb   $0x5d,0x0(%edi)
47c0e4:	c0 47 00 74          	rolb   $0x74,0x0(%edi)
47c0e8:	c0 47 00 83          	rolb   $0x83,0x0(%edi)
47c0ec:	c0 47 00 92          	rolb   $0x92,0x0(%edi)
47c0f0:	c0 47 00 b1          	rolb   $0xb1,0x0(%edi)
47c0f4:	c0 47 00 8b          	rolb   $0x8b,0x0(%edi)
47c0f8:	ff 56 8b             	call   *-0x75(%esi)
47c0fb:	f1                   	int1
47c0fc:	8b 46 04             	mov    0x4(%esi),%eax
47c0ff:	8b 0e                	mov    (%esi),%ecx
47c101:	0f b6 00             	movzbl (%eax),%eax
47c104:	50                   	push   %eax
47c105:	e8 a7 cf ff ff       	call   0x4790b1
47c10a:	8b 46 04             	mov    0x4(%esi),%eax
47c10d:	c6 00 00             	movb   $0x0,(%eax)
47c110:	8b 46 08             	mov    0x8(%esi),%eax
47c113:	8b 0e                	mov    (%esi),%ecx
47c115:	5e                   	pop    %esi
47c116:	8b 00                	mov    (%eax),%eax
47c118:	89 01                	mov    %eax,(%ecx)
47c11a:	b0 01                	mov    $0x1,%al
47c11c:	c3                   	ret
47c11d:	8b ff                	mov    %edi,%edi
47c11f:	56                   	push   %esi
47c120:	8b f1                	mov    %ecx,%esi
47c122:	8b 46 04             	mov    0x4(%esi),%eax
47c125:	8b 0e                	mov    (%esi),%ecx
47c127:	0f b7 00             	movzwl (%eax),%eax
47c12a:	50                   	push   %eax
47c12b:	e8 aa cf ff ff       	call   0x4790da
47c130:	8b 46 04             	mov    0x4(%esi),%eax
47c133:	33 c9                	xor    %ecx,%ecx
47c135:	66 89 08             	mov    %cx,(%eax)
47c138:	8b 46 08             	mov    0x8(%esi),%eax
47c13b:	8b 0e                	mov    (%esi),%ecx
47c13d:	5e                   	pop    %esi
47c13e:	8b 00                	mov    (%eax),%eax
47c140:	89 01                	mov    %eax,(%ecx)
47c142:	b0 01                	mov    $0x1,%al
47c144:	c3                   	ret
47c145:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
47c149:	74 03                	je     0x47c14e
47c14b:	8b 01                	mov    (%ecx),%eax
47c14d:	c3                   	ret
47c14e:	6a 00                	push   $0x0
47c150:	68 db 01 00 00       	push   $0x1db
47c155:	68 40 26 4a 00       	push   $0x4a2640
47c15a:	68 a8 26 4a 00       	push   $0x4a26a8
47c15f:	68 04 27 4a 00       	push   $0x4a2704
47c164:	e8 e5 d4 ff ff       	call   0x47964e
47c169:	cc                   	int3
47c16a:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
47c16e:	75 03                	jne    0x47c173
47c170:	8b 01                	mov    (%ecx),%eax
47c172:	c3                   	ret
47c173:	6a 00                	push   $0x0
47c175:	68 e1 01 00 00       	push   $0x1e1
47c17a:	68 40 26 4a 00       	push   $0x4a2640
47c17f:	68 20 27 4a 00       	push   $0x4a2720
47c184:	68 7c 27 4a 00       	push   $0x4a277c
47c189:	e8 c0 d4 ff ff       	call   0x47964e
47c18e:	cc                   	int3
47c18f:	8b ff                	mov    %edi,%edi
47c191:	55                   	push   %ebp
47c192:	8b ec                	mov    %esp,%ebp
47c194:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47c197:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
47c19b:	74 1c                	je     0x47c1b9
47c19d:	e8 a3 ff ff ff       	call   0x47c145
47c1a2:	8b c8                	mov    %eax,%ecx
47c1a4:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
47c1a8:	99                   	cltd
47c1a9:	c1 e0 1f             	shl    $0x1f,%eax
47c1ac:	0d 00 00 f0 7f       	or     $0x7ff00000,%eax
47c1b1:	83 21 00             	andl   $0x0,(%ecx)
47c1b4:	89 41 04             	mov    %eax,0x4(%ecx)
47c1b7:	5d                   	pop    %ebp
47c1b8:	c3                   	ret
47c1b9:	e8 ac ff ff ff       	call   0x47c16a
47c1be:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
47c1c2:	c1 e1 1f             	shl    $0x1f,%ecx
47c1c5:	81 c9 00 00 80 7f    	or     $0x7f800000,%ecx
47c1cb:	89 08                	mov    %ecx,(%eax)
47c1cd:	5d                   	pop    %ebp
47c1ce:	c3                   	ret
47c1cf:	8b ff                	mov    %edi,%edi
47c1d1:	55                   	push   %ebp
47c1d2:	8b ec                	mov    %esp,%ebp
47c1d4:	83 ec 24             	sub    $0x24,%esp
47c1d7:	53                   	push   %ebx
47c1d8:	56                   	push   %esi
47c1d9:	8b 75 0c             	mov    0xc(%ebp),%esi
47c1dc:	33 db                	xor    %ebx,%ebx
47c1de:	57                   	push   %edi
47c1df:	8b 7d 08             	mov    0x8(%ebp),%edi
47c1e2:	3b f3                	cmp    %ebx,%esi
47c1e4:	77 14                	ja     0x47c1fa
47c1e6:	83 ff ff             	cmp    $0xffffffff,%edi
47c1e9:	77 0f                	ja     0x47c1fa
47c1eb:	0f bd cf             	bsr    %edi,%ecx
47c1ee:	89 5d dc             	mov    %ebx,-0x24(%ebp)
47c1f1:	74 03                	je     0x47c1f6
47c1f3:	41                   	inc    %ecx
47c1f4:	eb 14                	jmp    0x47c20a
47c1f6:	8b cb                	mov    %ebx,%ecx
47c1f8:	eb 10                	jmp    0x47c20a
47c1fa:	0f bd ce             	bsr    %esi,%ecx
47c1fd:	89 5d dc             	mov    %ebx,-0x24(%ebp)
47c200:	74 03                	je     0x47c205
47c202:	41                   	inc    %ecx
47c203:	eb 02                	jmp    0x47c207
47c205:	8b cb                	mov    %ebx,%ecx
47c207:	83 c1 20             	add    $0x20,%ecx
47c20a:	8b 45 1c             	mov    0x1c(%ebp),%eax
47c20d:	8a 50 04             	mov    0x4(%eax),%dl
47c210:	88 55 ff             	mov    %dl,-0x1(%ebp)
47c213:	33 d2                	xor    %edx,%edx
47c215:	38 55 ff             	cmp    %dl,-0x1(%ebp)
47c218:	0f 94 c2             	sete   %dl
47c21b:	33 c0                	xor    %eax,%eax
47c21d:	4a                   	dec    %edx
47c21e:	83 e2 1d             	and    $0x1d,%edx
47c221:	83 c2 18             	add    $0x18,%edx
47c224:	2b d1                	sub    %ecx,%edx
47c226:	8b 4d 10             	mov    0x10(%ebp),%ecx
47c229:	2b ca                	sub    %edx,%ecx
47c22b:	89 55 f4             	mov    %edx,-0xc(%ebp)
47c22e:	38 45 ff             	cmp    %al,-0x1(%ebp)
47c231:	89 4d f8             	mov    %ecx,-0x8(%ebp)
47c234:	0f 94 c0             	sete   %al
47c237:	48                   	dec    %eax
47c238:	25 80 03 00 00       	and    $0x380,%eax
47c23d:	83 c0 7f             	add    $0x7f,%eax
47c240:	89 45 ec             	mov    %eax,-0x14(%ebp)
47c243:	3b c8                	cmp    %eax,%ecx
47c245:	8b 45 1c             	mov    0x1c(%ebp),%eax
47c248:	0f 8f 72 02 00 00    	jg     0x47c4c0
47c24e:	33 c0                	xor    %eax,%eax
47c250:	38 45 ff             	cmp    %al,-0x1(%ebp)
47c253:	0f 94 c0             	sete   %al
47c256:	48                   	dec    %eax
47c257:	25 80 fc ff ff       	and    $0xfffffc80,%eax
47c25c:	83 c0 82             	add    $0xffffff82,%eax
47c25f:	3b c8                	cmp    %eax,%ecx
47c261:	0f 8d 3f 01 00 00    	jge    0x47c3a6
47c267:	8b 45 ec             	mov    -0x14(%ebp),%eax
47c26a:	8b c8                	mov    %eax,%ecx
47c26c:	8b 55 10             	mov    0x10(%ebp),%edx
47c26f:	f7 d9                	neg    %ecx
47c271:	4a                   	dec    %edx
47c272:	89 4d f8             	mov    %ecx,-0x8(%ebp)
47c275:	03 d0                	add    %eax,%edx
47c277:	89 55 ec             	mov    %edx,-0x14(%ebp)
47c27a:	85 d2                	test   %edx,%edx
47c27c:	0f 89 1c 01 00 00    	jns    0x47c39e
47c282:	8b c2                	mov    %edx,%eax
47c284:	f7 d8                	neg    %eax
47c286:	89 45 f0             	mov    %eax,-0x10(%ebp)
47c289:	83 f8 40             	cmp    $0x40,%eax
47c28c:	0f 83 f8 00 00 00    	jae    0x47c38a
47c292:	8d 48 ff             	lea    -0x1(%eax),%ecx
47c295:	33 d2                	xor    %edx,%edx
47c297:	33 c0                	xor    %eax,%eax
47c299:	40                   	inc    %eax
47c29a:	e8 b1 97 01 00       	call   0x495a50
47c29f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47c2a2:	89 45 e8             	mov    %eax,-0x18(%ebp)
47c2a5:	83 c0 ff             	add    $0xffffffff,%eax
47c2a8:	89 55 e4             	mov    %edx,-0x1c(%ebp)
47c2ab:	83 d2 ff             	adc    $0xffffffff,%edx
47c2ae:	89 45 e0             	mov    %eax,-0x20(%ebp)
47c2b1:	33 c0                	xor    %eax,%eax
47c2b3:	89 55 dc             	mov    %edx,-0x24(%ebp)
47c2b6:	40                   	inc    %eax
47c2b7:	33 d2                	xor    %edx,%edx
47c2b9:	e8 92 97 01 00       	call   0x495a50
47c2be:	23 c7                	and    %edi,%eax
47c2c0:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
47c2c4:	23 d6                	and    %esi,%edx
47c2c6:	0b c2                	or     %edx,%eax
47c2c8:	75 03                	jne    0x47c2cd
47c2ca:	88 5d fd             	mov    %bl,-0x3(%ebp)
47c2cd:	8b 45 e8             	mov    -0x18(%ebp),%eax
47c2d0:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
47c2d3:	23 c7                	and    %edi,%eax
47c2d5:	23 ce                	and    %esi,%ecx
47c2d7:	0b c1                	or     %ecx,%eax
47c2d9:	74 07                	je     0x47c2e2
47c2db:	b1 01                	mov    $0x1,%cl
47c2dd:	88 4d ff             	mov    %cl,-0x1(%ebp)
47c2e0:	eb 05                	jmp    0x47c2e7
47c2e2:	8a cb                	mov    %bl,%cl
47c2e4:	88 5d ff             	mov    %bl,-0x1(%ebp)
47c2e7:	38 5d 18             	cmp    %bl,0x18(%ebp)
47c2ea:	74 15                	je     0x47c301
47c2ec:	8b 45 e0             	mov    -0x20(%ebp),%eax
47c2ef:	8b 55 dc             	mov    -0x24(%ebp),%edx
47c2f2:	23 c7                	and    %edi,%eax