43af25:	8b 5d 0c             	mov    0xc(%ebp),%ebx
43af28:	56                   	push   %esi
43af29:	8b 75 08             	mov    0x8(%ebp),%esi
43af2c:	8b c6                	mov    %esi,%eax
43af2e:	c1 f8 05             	sar    $0x5,%eax
43af31:	8d 14 85 80 17 47 00 	lea    0x471780(,%eax,4),%edx
43af38:	8b 0a                	mov    (%edx),%ecx
43af3a:	83 e6 1f             	and    $0x1f,%esi
43af3d:	c1 e6 06             	shl    $0x6,%esi
43af40:	03 ce                	add    %esi,%ecx
43af42:	8a 41 24             	mov    0x24(%ecx),%al
43af45:	02 c0                	add    %al,%al
43af47:	57                   	push   %edi
43af48:	0f b6 79 04          	movzbl 0x4(%ecx),%edi
43af4c:	0f be c0             	movsbl %al,%eax
43af4f:	81 e7 80 00 00 00    	and    $0x80,%edi
43af55:	d1 f8                	sar    $1,%eax
43af57:	81 fb 00 40 00 00    	cmp    $0x4000,%ebx
43af5d:	74 50                	je     0x43afaf
43af5f:	81 fb 00 80 00 00    	cmp    $0x8000,%ebx
43af65:	74 42                	je     0x43afa9
43af67:	81 fb 00 00 01 00    	cmp    $0x10000,%ebx
43af6d:	74 26                	je     0x43af95
43af6f:	81 fb 00 00 02 00    	cmp    $0x20000,%ebx
43af75:	74 1e                	je     0x43af95
43af77:	81 fb 00 00 04 00    	cmp    $0x40000,%ebx
43af7d:	75 3d                	jne    0x43afbc
43af7f:	80 49 04 80          	orb    $0x80,0x4(%ecx)
43af83:	8b 0a                	mov    (%edx),%ecx
43af85:	8d 4c 31 24          	lea    0x24(%ecx,%esi,1),%ecx
43af89:	8a 11                	mov    (%ecx),%dl
43af8b:	80 e2 81             	and    $0x81,%dl
43af8e:	80 ca 01             	or     $0x1,%dl
43af91:	88 11                	mov    %dl,(%ecx)
43af93:	eb 27                	jmp    0x43afbc
43af95:	80 49 04 80          	orb    $0x80,0x4(%ecx)
43af99:	8b 0a                	mov    (%edx),%ecx
43af9b:	8d 4c 31 24          	lea    0x24(%ecx,%esi,1),%ecx
43af9f:	8a 11                	mov    (%ecx),%dl
43afa1:	80 e2 82             	and    $0x82,%dl
43afa4:	80 ca 02             	or     $0x2,%dl
43afa7:	eb e8                	jmp    0x43af91
43afa9:	80 61 04 7f          	andb   $0x7f,0x4(%ecx)
43afad:	eb 0d                	jmp    0x43afbc
43afaf:	80 49 04 80          	orb    $0x80,0x4(%ecx)
43afb3:	8b 0a                	mov    (%edx),%ecx
43afb5:	8d 4c 31 24          	lea    0x24(%ecx,%esi,1),%ecx
43afb9:	80 21 80             	andb   $0x80,(%ecx)
43afbc:	85 ff                	test   %edi,%edi
43afbe:	5f                   	pop    %edi
43afbf:	5e                   	pop    %esi
43afc0:	5b                   	pop    %ebx
43afc1:	75 07                	jne    0x43afca
43afc3:	b8 00 80 00 00       	mov    $0x8000,%eax
43afc8:	5d                   	pop    %ebp
43afc9:	c3                   	ret
43afca:	f7 d8                	neg    %eax
43afcc:	1b c0                	sbb    %eax,%eax
43afce:	25 00 c0 00 00       	and    $0xc000,%eax
43afd3:	05 00 40 00 00       	add    $0x4000,%eax
43afd8:	5d                   	pop    %ebp
43afd9:	c3                   	ret
43afda:	8b ff                	mov    %edi,%edi
43afdc:	55                   	push   %ebp
43afdd:	8b ec                	mov    %esp,%ebp
43afdf:	8b 45 08             	mov    0x8(%ebp),%eax
43afe2:	3d 00 40 00 00       	cmp    $0x4000,%eax
43afe7:	74 23                	je     0x43b00c
43afe9:	3d 00 80 00 00       	cmp    $0x8000,%eax
43afee:	74 1c                	je     0x43b00c
43aff0:	3d 00 00 01 00       	cmp    $0x10000,%eax
43aff5:	74 15                	je     0x43b00c
43aff7:	e8 ac 99 ff ff       	call   0x4349a8
43affc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43b002:	e8 67 93 ff ff       	call   0x43436e
43b007:	6a 16                	push   $0x16
43b009:	58                   	pop    %eax
43b00a:	5d                   	pop    %ebp
43b00b:	c3                   	ret
43b00c:	50                   	push   %eax
43b00d:	68 e8 10 47 00       	push   $0x4710e8
43b012:	ff 15 10 35 47 00    	call   *0x473510
43b018:	33 c0                	xor    %eax,%eax
43b01a:	5d                   	pop    %ebp
43b01b:	c3                   	ret
43b01c:	8b ff                	mov    %edi,%edi
43b01e:	55                   	push   %ebp
43b01f:	8b ec                	mov    %esp,%ebp
43b021:	8b 45 08             	mov    0x8(%ebp),%eax
43b024:	85 c0                	test   %eax,%eax
43b026:	75 15                	jne    0x43b03d
43b028:	e8 7b 99 ff ff       	call   0x4349a8
43b02d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43b033:	e8 36 93 ff ff       	call   0x43436e
43b038:	6a 16                	push   $0x16
43b03a:	58                   	pop    %eax
43b03b:	5d                   	pop    %ebp
43b03c:	c3                   	ret
43b03d:	8b 0d e8 10 47 00    	mov    0x4710e8,%ecx
43b043:	89 08                	mov    %ecx,(%eax)
43b045:	33 c0                	xor    %eax,%eax
43b047:	5d                   	pop    %ebp
43b048:	c3                   	ret
43b049:	6a 10                	push   $0x10
43b04b:	68 50 e0 46 00       	push   $0x46e050
43b050:	e8 2b 9d ff ff       	call   0x434d80
43b055:	8b 45 0c             	mov    0xc(%ebp),%eax
43b058:	3d 00 40 00 00       	cmp    $0x4000,%eax
43b05d:	74 34                	je     0x43b093
43b05f:	3d 00 80 00 00       	cmp    $0x8000,%eax
43b064:	74 2d                	je     0x43b093
43b066:	3d 00 00 01 00       	cmp    $0x10000,%eax
43b06b:	74 26                	je     0x43b093
43b06d:	3d 00 00 04 00       	cmp    $0x40000,%eax
43b072:	74 1f                	je     0x43b093
43b074:	3d 00 00 02 00       	cmp    $0x20000,%eax
43b079:	74 18                	je     0x43b093
43b07b:	e8 28 99 ff ff       	call   0x4349a8
43b080:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43b086:	e8 e3 92 ff ff       	call   0x43436e
43b08b:	83 c8 ff             	or     $0xffffffff,%eax
43b08e:	e9 90 00 00 00       	jmp    0x43b123
43b093:	8b 5d 08             	mov    0x8(%ebp),%ebx
43b096:	83 fb fe             	cmp    $0xfffffffe,%ebx
43b099:	75 0d                	jne    0x43b0a8
43b09b:	e8 08 99 ff ff       	call   0x4349a8
43b0a0:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43b0a6:	eb e3                	jmp    0x43b08b
43b0a8:	85 db                	test   %ebx,%ebx
43b0aa:	78 08                	js     0x43b0b4
43b0ac:	3b 1d 2c 17 47 00    	cmp    0x47172c,%ebx
43b0b2:	72 0d                	jb     0x43b0c1
43b0b4:	e8 ef 98 ff ff       	call   0x4349a8
43b0b9:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43b0bf:	eb c5                	jmp    0x43b086
43b0c1:	8b c3                	mov    %ebx,%eax
43b0c3:	c1 f8 05             	sar    $0x5,%eax
43b0c6:	8d 3c 85 80 17 47 00 	lea    0x471780(,%eax,4),%edi
43b0cd:	8b f3                	mov    %ebx,%esi
43b0cf:	83 e6 1f             	and    $0x1f,%esi
43b0d2:	c1 e6 06             	shl    $0x6,%esi
43b0d5:	8b 07                	mov    (%edi),%eax
43b0d7:	0f be 44 30 04       	movsbl 0x4(%eax,%esi,1),%eax
43b0dc:	83 e0 01             	and    $0x1,%eax
43b0df:	74 d3                	je     0x43b0b4
43b0e1:	53                   	push   %ebx
43b0e2:	e8 52 f5 ff ff       	call   0x43a639
43b0e7:	59                   	pop    %ecx
43b0e8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43b0ec:	8b 07                	mov    (%edi),%eax
43b0ee:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
43b0f3:	74 10                	je     0x43b105
43b0f5:	ff 75 0c             	push   0xc(%ebp)
43b0f8:	53                   	push   %ebx
43b0f9:	e8 21 fe ff ff       	call   0x43af1f
43b0fe:	59                   	pop    %ecx
43b0ff:	59                   	pop    %ecx
43b100:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43b103:	eb 0f                	jmp    0x43b114
43b105:	e8 9e 98 ff ff       	call   0x4349a8
43b10a:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43b110:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
43b114:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43b11b:	e8 0c 00 00 00       	call   0x43b12c
43b120:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43b123:	e8 9d 9c ff ff       	call   0x434dc5
43b128:	c3                   	ret
43b129:	8b 5d 08             	mov    0x8(%ebp),%ebx
43b12c:	53                   	push   %ebx
43b12d:	e8 a6 f5 ff ff       	call   0x43a6d8
43b132:	59                   	pop    %ecx
43b133:	c3                   	ret
43b134:	a1 34 fe 46 00       	mov    0x46fe34,%eax
43b139:	c3                   	ret
43b13a:	e8 e9 94 ff ff       	call   0x434628
43b13f:	8b c8                	mov    %eax,%ecx
43b141:	8b 41 6c             	mov    0x6c(%ecx),%eax
43b144:	3b 05 18 fe 46 00    	cmp    0x46fe18,%eax
43b14a:	74 10                	je     0x43b15c
43b14c:	8b 15 d0 fb 46 00    	mov    0x46fbd0,%edx
43b152:	85 51 70             	test   %edx,0x70(%ecx)
43b155:	75 05                	jne    0x43b15c
43b157:	e8 1b e3 ff ff       	call   0x439477
43b15c:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
43b162:	c3                   	ret
43b163:	57                   	push   %edi
43b164:	8b c6                	mov    %esi,%eax
43b166:	83 e0 0f             	and    $0xf,%eax
43b169:	85 c0                	test   %eax,%eax
43b16b:	0f 85 c1 00 00 00    	jne    0x43b232
43b171:	8b d1                	mov    %ecx,%edx
43b173:	83 e1 7f             	and    $0x7f,%ecx
43b176:	c1 ea 07             	shr    $0x7,%edx
43b179:	74 65                	je     0x43b1e0
43b17b:	eb 06                	jmp    0x43b183
43b17d:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
43b183:	66 0f 6f 06          	movdqa (%esi),%xmm0
43b187:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
43b18c:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
43b191:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
43b196:	66 0f 7f 07          	movdqa %xmm0,(%edi)
43b19a:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
43b19f:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
43b1a4:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
43b1a9:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
43b1ae:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
43b1b3:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
43b1b8:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
43b1bd:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
43b1c2:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
43b1c7:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
43b1cc:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
43b1d1:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
43b1d7:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
43b1dd:	4a                   	dec    %edx
43b1de:	75 a3                	jne    0x43b183
43b1e0:	85 c9                	test   %ecx,%ecx
43b1e2:	74 49                	je     0x43b22d
43b1e4:	8b d1                	mov    %ecx,%edx
43b1e6:	c1 ea 04             	shr    $0x4,%edx
43b1e9:	85 d2                	test   %edx,%edx
43b1eb:	74 17                	je     0x43b204
43b1ed:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
43b1f3:	66 0f 6f 06          	movdqa (%esi),%xmm0
43b1f7:	66 0f 7f 07          	movdqa %xmm0,(%edi)
43b1fb:	8d 76 10             	lea    0x10(%esi),%esi
43b1fe:	8d 7f 10             	lea    0x10(%edi),%edi
43b201:	4a                   	dec    %edx
43b202:	75 ef                	jne    0x43b1f3
43b204:	83 e1 0f             	and    $0xf,%ecx
43b207:	74 24                	je     0x43b22d
43b209:	8b c1                	mov    %ecx,%eax
43b20b:	c1 e9 02             	shr    $0x2,%ecx
43b20e:	74 0d                	je     0x43b21d
43b210:	8b 16                	mov    (%esi),%edx
43b212:	89 17                	mov    %edx,(%edi)
43b214:	8d 76 04             	lea    0x4(%esi),%esi
43b217:	8d 7f 04             	lea    0x4(%edi),%edi
43b21a:	49                   	dec    %ecx
43b21b:	75 f3                	jne    0x43b210
43b21d:	8b c8                	mov    %eax,%ecx
43b21f:	83 e1 03             	and    $0x3,%ecx
43b222:	74 09                	je     0x43b22d
43b224:	8a 06                	mov    (%esi),%al
43b226:	88 07                	mov    %al,(%edi)
43b228:	46                   	inc    %esi
43b229:	47                   	inc    %edi
43b22a:	49                   	dec    %ecx
43b22b:	75 f7                	jne    0x43b224
43b22d:	58                   	pop    %eax
43b22e:	5e                   	pop    %esi
43b22f:	5f                   	pop    %edi
43b230:	5d                   	pop    %ebp
43b231:	c3                   	ret
43b232:	ba 10 00 00 00       	mov    $0x10,%edx
43b237:	2b d0                	sub    %eax,%edx
43b239:	2b ca                	sub    %edx,%ecx
43b23b:	51                   	push   %ecx
43b23c:	8b c2                	mov    %edx,%eax
43b23e:	8b c8                	mov    %eax,%ecx
43b240:	83 e1 03             	and    $0x3,%ecx
43b243:	74 09                	je     0x43b24e
43b245:	8a 16                	mov    (%esi),%dl
43b247:	88 17                	mov    %dl,(%edi)
43b249:	46                   	inc    %esi
43b24a:	47                   	inc    %edi
43b24b:	49                   	dec    %ecx
43b24c:	75 f7                	jne    0x43b245
43b24e:	c1 e8 02             	shr    $0x2,%eax
43b251:	74 0d                	je     0x43b260
43b253:	8b 16                	mov    (%esi),%edx
43b255:	89 17                	mov    %edx,(%edi)
43b257:	8d 76 04             	lea    0x4(%esi),%esi
43b25a:	8d 7f 04             	lea    0x4(%edi),%edi
43b25d:	48                   	dec    %eax
43b25e:	75 f3                	jne    0x43b253
43b260:	59                   	pop    %ecx
43b261:	e9 0b ff ff ff       	jmp    0x43b171
43b266:	cc                   	int3
43b267:	cc                   	int3
43b268:	cc                   	int3
43b269:	cc                   	int3
43b26a:	cc                   	int3
43b26b:	cc                   	int3
43b26c:	cc                   	int3
43b26d:	cc                   	int3
43b26e:	cc                   	int3
43b26f:	cc                   	int3
43b270:	8b 4c 24 04          	mov    0x4(%esp),%ecx
43b274:	f7 c1 03 00 00 00    	test   $0x3,%ecx
43b27a:	74 24                	je     0x43b2a0
43b27c:	8a 01                	mov    (%ecx),%al
43b27e:	83 c1 01             	add    $0x1,%ecx
43b281:	84 c0                	test   %al,%al
43b283:	74 4e                	je     0x43b2d3
43b285:	f7 c1 03 00 00 00    	test   $0x3,%ecx
43b28b:	75 ef                	jne    0x43b27c
43b28d:	05 00 00 00 00       	add    $0x0,%eax
43b292:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43b299:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43b2a0:	8b 01                	mov    (%ecx),%eax
43b2a2:	ba ff fe fe 7e       	mov    $0x7efefeff,%edx
43b2a7:	03 d0                	add    %eax,%edx
43b2a9:	83 f0 ff             	xor    $0xffffffff,%eax
43b2ac:	33 c2                	xor    %edx,%eax
43b2ae:	83 c1 04             	add    $0x4,%ecx
43b2b1:	a9 00 01 01 81       	test   $0x81010100,%eax
43b2b6:	74 e8                	je     0x43b2a0
43b2b8:	8b 41 fc             	mov    -0x4(%ecx),%eax
43b2bb:	84 c0                	test   %al,%al
43b2bd:	74 32                	je     0x43b2f1
43b2bf:	84 e4                	test   %ah,%ah
43b2c1:	74 24                	je     0x43b2e7
43b2c3:	a9 00 00 ff 00       	test   $0xff0000,%eax
43b2c8:	74 13                	je     0x43b2dd
43b2ca:	a9 00 00 00 ff       	test   $0xff000000,%eax
43b2cf:	74 02                	je     0x43b2d3
43b2d1:	eb cd                	jmp    0x43b2a0
43b2d3:	8d 41 ff             	lea    -0x1(%ecx),%eax
43b2d6:	8b 4c 24 04          	mov    0x4(%esp),%ecx
43b2da:	2b c1                	sub    %ecx,%eax
43b2dc:	c3                   	ret
43b2dd:	8d 41 fe             	lea    -0x2(%ecx),%eax
43b2e0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
43b2e4:	2b c1                	sub    %ecx,%eax
43b2e6:	c3                   	ret
43b2e7:	8d 41 fd             	lea    -0x3(%ecx),%eax
43b2ea:	8b 4c 24 04          	mov    0x4(%esp),%ecx
43b2ee:	2b c1                	sub    %ecx,%eax
43b2f0:	c3                   	ret
43b2f1:	8d 41 fc             	lea    -0x4(%ecx),%eax
43b2f4:	8b 4c 24 04          	mov    0x4(%esp),%ecx
43b2f8:	2b c1                	sub    %ecx,%eax
43b2fa:	c3                   	ret
43b2fb:	8b ff                	mov    %edi,%edi
43b2fd:	55                   	push   %ebp
43b2fe:	8b ec                	mov    %esp,%ebp
43b300:	8b 06                	mov    (%esi),%eax
43b302:	39 45 08             	cmp    %eax,0x8(%ebp)
43b305:	75 46                	jne    0x43b34d
43b307:	8b 0f                	mov    (%edi),%ecx
43b309:	6a 02                	push   $0x2
43b30b:	50                   	push   %eax
43b30c:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
43b30f:	75 2b                	jne    0x43b33c
43b311:	e8 6a b1 ff ff       	call   0x436480
43b316:	59                   	pop    %ecx
43b317:	59                   	pop    %ecx
43b318:	89 07                	mov    %eax,(%edi)
43b31a:	85 c0                	test   %eax,%eax