43a1ba:	33 c0                	xor    %eax,%eax
43a1bc:	5d                   	pop    %ebp
43a1bd:	c3                   	ret
43a1be:	8b ff                	mov    %edi,%edi
43a1c0:	55                   	push   %ebp
43a1c1:	8b ec                	mov    %esp,%ebp
43a1c3:	ff 05 68 59 45 00    	incl   0x455968
43a1c9:	56                   	push   %esi
43a1ca:	8b 75 08             	mov    0x8(%ebp),%esi
43a1cd:	57                   	push   %edi
43a1ce:	6a 01                	push   $0x1
43a1d0:	bf 00 10 00 00       	mov    $0x1000,%edi
43a1d5:	57                   	push   %edi
43a1d6:	e8 3f 22 ff ff       	call   0x42c41a
43a1db:	6a 00                	push   $0x0
43a1dd:	89 46 04             	mov    %eax,0x4(%esi)
43a1e0:	e8 92 22 ff ff       	call   0x42c477
43a1e5:	83 c4 0c             	add    $0xc,%esp
43a1e8:	8d 46 0c             	lea    0xc(%esi),%eax
43a1eb:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
43a1ef:	74 08                	je     0x43a1f9
43a1f1:	6a 40                	push   $0x40
43a1f3:	59                   	pop    %ecx
43a1f4:	f0 09 08             	lock or %ecx,(%eax)
43a1f7:	eb 11                	jmp    0x43a20a
43a1f9:	b9 00 04 00 00       	mov    $0x400,%ecx
43a1fe:	f0 09 08             	lock or %ecx,(%eax)
43a201:	8d 46 14             	lea    0x14(%esi),%eax
43a204:	6a 02                	push   $0x2
43a206:	89 46 04             	mov    %eax,0x4(%esi)
43a209:	5f                   	pop    %edi
43a20a:	89 7e 18             	mov    %edi,0x18(%esi)
43a20d:	8b 46 04             	mov    0x4(%esi),%eax
43a210:	83 66 08 00          	andl   $0x0,0x8(%esi)
43a214:	5f                   	pop    %edi
43a215:	89 06                	mov    %eax,(%esi)
43a217:	5e                   	pop    %esi
43a218:	5d                   	pop    %ebp
43a219:	c3                   	ret
43a21a:	8b ff                	mov    %edi,%edi
43a21c:	55                   	push   %ebp
43a21d:	8b ec                	mov    %esp,%ebp
43a21f:	ff 75 14             	push   0x14(%ebp)
43a222:	ff 75 10             	push   0x10(%ebp)
43a225:	ff 75 0c             	push   0xc(%ebp)
43a228:	ff 75 08             	push   0x8(%ebp)
43a22b:	ff 15 28 f1 43 00    	call   *0x43f128
43a231:	5d                   	pop    %ebp
43a232:	c3                   	ret
43a233:	8b ff                	mov    %edi,%edi
43a235:	55                   	push   %ebp
43a236:	8b ec                	mov    %esp,%ebp
43a238:	53                   	push   %ebx
43a239:	56                   	push   %esi
43a23a:	ba 40 80 00 00       	mov    $0x8040,%edx
43a23f:	33 f6                	xor    %esi,%esi
43a241:	57                   	push   %edi
43a242:	8b 7d 08             	mov    0x8(%ebp),%edi
43a245:	8b c7                	mov    %edi,%eax
43a247:	23 c2                	and    %edx,%eax
43a249:	8d 4a c0             	lea    -0x40(%edx),%ecx
43a24c:	66 3b c1             	cmp    %cx,%ax
43a24f:	75 07                	jne    0x43a258
43a251:	bb 00 0c 00 00       	mov    $0xc00,%ebx
43a256:	eb 19                	jmp    0x43a271
43a258:	66 83 f8 40          	cmp    $0x40,%ax
43a25c:	75 07                	jne    0x43a265
43a25e:	bb 00 08 00 00       	mov    $0x800,%ebx
43a263:	eb 0c                	jmp    0x43a271
43a265:	bb 00 04 00 00       	mov    $0x400,%ebx
43a26a:	66 3b c2             	cmp    %dx,%ax
43a26d:	74 02                	je     0x43a271
43a26f:	8b de                	mov    %esi,%ebx
43a271:	8b c7                	mov    %edi,%eax
43a273:	b9 00 60 00 00       	mov    $0x6000,%ecx
43a278:	23 c1                	and    %ecx,%eax
43a27a:	74 25                	je     0x43a2a1
43a27c:	3d 00 20 00 00       	cmp    $0x2000,%eax
43a281:	74 19                	je     0x43a29c
43a283:	3d 00 40 00 00       	cmp    $0x4000,%eax
43a288:	74 0b                	je     0x43a295
43a28a:	3b c1                	cmp    %ecx,%eax
43a28c:	75 13                	jne    0x43a2a1
43a28e:	be 00 03 00 00       	mov    $0x300,%esi
43a293:	eb 0c                	jmp    0x43a2a1
43a295:	be 00 02 00 00       	mov    $0x200,%esi
43a29a:	eb 05                	jmp    0x43a2a1
43a29c:	be 00 01 00 00       	mov    $0x100,%esi
43a2a1:	8b d7                	mov    %edi,%edx
43a2a3:	b9 00 04 00 00       	mov    $0x400,%ecx
43a2a8:	c1 ea 02             	shr    $0x2,%edx
43a2ab:	8b c7                	mov    %edi,%eax
43a2ad:	25 00 08 00 00       	and    $0x800,%eax
43a2b2:	23 d1                	and    %ecx,%edx
43a2b4:	0b d0                	or     %eax,%edx
43a2b6:	8b c7                	mov    %edi,%eax
43a2b8:	23 c1                	and    %ecx,%eax
43a2ba:	c1 ea 02             	shr    $0x2,%edx
43a2bd:	0b c2                	or     %edx,%eax
43a2bf:	8b cf                	mov    %edi,%ecx
43a2c1:	c1 e8 02             	shr    $0x2,%eax
43a2c4:	81 e1 00 02 00 00    	and    $0x200,%ecx
43a2ca:	0b c1                	or     %ecx,%eax
43a2cc:	81 e7 80 01 00 00    	and    $0x180,%edi
43a2d2:	c1 e8 03             	shr    $0x3,%eax
43a2d5:	0b c7                	or     %edi,%eax
43a2d7:	c1 e8 03             	shr    $0x3,%eax
43a2da:	0b c3                	or     %ebx,%eax
43a2dc:	5f                   	pop    %edi
43a2dd:	0b c6                	or     %esi,%eax
43a2df:	5e                   	pop    %esi
43a2e0:	5b                   	pop    %ebx
43a2e1:	5d                   	pop    %ebp
43a2e2:	c3                   	ret
43a2e3:	8b ff                	mov    %edi,%edi
43a2e5:	55                   	push   %ebp
43a2e6:	8b ec                	mov    %esp,%ebp
43a2e8:	51                   	push   %ecx
43a2e9:	53                   	push   %ebx
43a2ea:	56                   	push   %esi
43a2eb:	57                   	push   %edi
43a2ec:	8b 7d 08             	mov    0x8(%ebp),%edi
43a2ef:	ba 00 10 00 00       	mov    $0x1000,%edx
43a2f4:	0f b7 c7             	movzwl %di,%eax
43a2f7:	8b d8                	mov    %eax,%ebx
43a2f9:	89 55 fc             	mov    %edx,-0x4(%ebp)
43a2fc:	23 da                	and    %edx,%ebx
43a2fe:	8b c8                	mov    %eax,%ecx
43a300:	c1 e3 02             	shl    $0x2,%ebx
43a303:	ba 00 02 00 00       	mov    $0x200,%edx
43a308:	6a 00                	push   $0x0
43a30a:	5e                   	pop    %esi
43a30b:	81 e1 00 03 00 00    	and    $0x300,%ecx
43a311:	74 09                	je     0x43a31c
43a313:	3b ca                	cmp    %edx,%ecx
43a315:	74 0c                	je     0x43a323
43a317:	89 75 fc             	mov    %esi,-0x4(%ebp)
43a31a:	eb 07                	jmp    0x43a323
43a31c:	c7 45 fc 00 20 00 00 	movl   $0x2000,-0x4(%ebp)
43a323:	b9 00 0c 00 00       	mov    $0xc00,%ecx
43a328:	23 c1                	and    %ecx,%eax
43a32a:	74 22                	je     0x43a34e
43a32c:	3d 00 04 00 00       	cmp    $0x400,%eax
43a331:	74 16                	je     0x43a349
43a333:	3d 00 08 00 00       	cmp    $0x800,%eax
43a338:	74 0b                	je     0x43a345
43a33a:	3b c1                	cmp    %ecx,%eax
43a33c:	75 10                	jne    0x43a34e
43a33e:	be 00 03 00 00       	mov    $0x300,%esi
43a343:	eb 09                	jmp    0x43a34e
43a345:	8b f2                	mov    %edx,%esi
43a347:	eb 05                	jmp    0x43a34e
43a349:	be 00 01 00 00       	mov    $0x100,%esi
43a34e:	8b d7                	mov    %edi,%edx
43a350:	8b c7                	mov    %edi,%eax
43a352:	83 e0 10             	and    $0x10,%eax
43a355:	c1 ea 02             	shr    $0x2,%edx
43a358:	83 e2 08             	and    $0x8,%edx
43a35b:	8b cf                	mov    %edi,%ecx
43a35d:	0b d0                	or     %eax,%edx
43a35f:	83 e1 02             	and    $0x2,%ecx
43a362:	8b c7                	mov    %edi,%eax
43a364:	c1 ea 02             	shr    $0x2,%edx
43a367:	83 e0 08             	and    $0x8,%eax
43a36a:	c1 e1 03             	shl    $0x3,%ecx
43a36d:	0b d0                	or     %eax,%edx
43a36f:	8b c7                	mov    %edi,%eax
43a371:	83 e0 04             	and    $0x4,%eax
43a374:	d1 ea                	shr    $1,%edx
43a376:	0b c1                	or     %ecx,%eax
43a378:	83 e7 01             	and    $0x1,%edi
43a37b:	03 c0                	add    %eax,%eax
43a37d:	c1 e7 04             	shl    $0x4,%edi
43a380:	0b c2                	or     %edx,%eax
43a382:	0b c7                	or     %edi,%eax
43a384:	0b c3                	or     %ebx,%eax
43a386:	0b 45 fc             	or     -0x4(%ebp),%eax
43a389:	5f                   	pop    %edi
43a38a:	0b c6                	or     %esi,%eax
43a38c:	5e                   	pop    %esi
43a38d:	5b                   	pop    %ebx
43a38e:	c9                   	leave
43a38f:	c3                   	ret
43a390:	8b ff                	mov    %edi,%edi
43a392:	55                   	push   %ebp
43a393:	8b ec                	mov    %esp,%ebp
43a395:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a398:	8b c1                	mov    %ecx,%eax
43a39a:	53                   	push   %ebx
43a39b:	56                   	push   %esi
43a39c:	8b f1                	mov    %ecx,%esi
43a39e:	c1 e8 02             	shr    $0x2,%eax
43a3a1:	81 e6 ff ff 3f c0    	and    $0xc03fffff,%esi
43a3a7:	0b f0                	or     %eax,%esi
43a3a9:	b8 00 0c 00 00       	mov    $0xc00,%eax
43a3ae:	57                   	push   %edi
43a3af:	23 c8                	and    %eax,%ecx
43a3b1:	c1 ee 16             	shr    $0x16,%esi
43a3b4:	33 ff                	xor    %edi,%edi
43a3b6:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
43a3bc:	74 1c                	je     0x43a3da
43a3be:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
43a3c4:	74 0f                	je     0x43a3d5
43a3c6:	3b c8                	cmp    %eax,%ecx
43a3c8:	74 04                	je     0x43a3ce
43a3ca:	8b df                	mov    %edi,%ebx
43a3cc:	eb 11                	jmp    0x43a3df
43a3ce:	bb 00 80 00 00       	mov    $0x8000,%ebx
43a3d3:	eb 0a                	jmp    0x43a3df
43a3d5:	6a 40                	push   $0x40
43a3d7:	5b                   	pop    %ebx
43a3d8:	eb 05                	jmp    0x43a3df
43a3da:	bb 40 80 00 00       	mov    $0x8040,%ebx
43a3df:	8b c6                	mov    %esi,%eax
43a3e1:	b9 00 03 00 00       	mov    $0x300,%ecx
43a3e6:	23 c1                	and    %ecx,%eax
43a3e8:	74 25                	je     0x43a40f
43a3ea:	3d 00 01 00 00       	cmp    $0x100,%eax
43a3ef:	74 19                	je     0x43a40a
43a3f1:	3d 00 02 00 00       	cmp    $0x200,%eax
43a3f6:	74 0b                	je     0x43a403
43a3f8:	3b c1                	cmp    %ecx,%eax
43a3fa:	75 13                	jne    0x43a40f
43a3fc:	bf 00 60 00 00       	mov    $0x6000,%edi
43a401:	eb 0c                	jmp    0x43a40f
43a403:	bf 00 40 00 00       	mov    $0x4000,%edi
43a408:	eb 05                	jmp    0x43a40f
43a40a:	bf 00 20 00 00       	mov    $0x2000,%edi
43a40f:	8b d6                	mov    %esi,%edx
43a411:	8b c6                	mov    %esi,%eax
43a413:	83 e0 02             	and    $0x2,%eax
43a416:	83 e2 01             	and    $0x1,%edx
43a419:	c1 e2 02             	shl    $0x2,%edx
43a41c:	8b ce                	mov    %esi,%ecx
43a41e:	0b d0                	or     %eax,%edx
43a420:	83 e1 08             	and    $0x8,%ecx
43a423:	8b c6                	mov    %esi,%eax
43a425:	c1 e2 02             	shl    $0x2,%edx
43a428:	83 e0 04             	and    $0x4,%eax
43a42b:	83 e6 30             	and    $0x30,%esi
43a42e:	0b c2                	or     %edx,%eax
43a430:	c1 e0 02             	shl    $0x2,%eax
43a433:	0b c1                	or     %ecx,%eax
43a435:	c1 e0 03             	shl    $0x3,%eax
43a438:	0b c6                	or     %esi,%eax
43a43a:	c1 e0 03             	shl    $0x3,%eax
43a43d:	0b c3                	or     %ebx,%eax
43a43f:	0b c7                	or     %edi,%eax
43a441:	5f                   	pop    %edi
43a442:	5e                   	pop    %esi
43a443:	5b                   	pop    %ebx
43a444:	5d                   	pop    %ebp
43a445:	c3                   	ret
43a446:	8b ff                	mov    %edi,%edi
43a448:	55                   	push   %ebp
43a449:	8b ec                	mov    %esp,%ebp
43a44b:	51                   	push   %ecx
43a44c:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a44f:	ba 00 03 00 00       	mov    $0x300,%edx
43a454:	53                   	push   %ebx
43a455:	56                   	push   %esi
43a456:	8b f1                	mov    %ecx,%esi
43a458:	8b c1                	mov    %ecx,%eax
43a45a:	c1 ee 02             	shr    $0x2,%esi
43a45d:	25 00 00 c0 00       	and    $0xc00000,%eax
43a462:	81 e6 00 c0 0f 00    	and    $0xfc000,%esi
43a468:	bb 00 10 00 00       	mov    $0x1000,%ebx
43a46d:	0b f0                	or     %eax,%esi
43a46f:	8b c1                	mov    %ecx,%eax
43a471:	57                   	push   %edi
43a472:	c1 e8 02             	shr    $0x2,%eax
43a475:	23 c3                	and    %ebx,%eax
43a477:	c1 ee 0e             	shr    $0xe,%esi
43a47a:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a47d:	6a 00                	push   $0x0
43a47f:	5f                   	pop    %edi
43a480:	81 e1 00 30 00 00    	and    $0x3000,%ecx
43a486:	74 0f                	je     0x43a497
43a488:	3b cb                	cmp    %ebx,%ecx
43a48a:	74 04                	je     0x43a490
43a48c:	8b df                	mov    %edi,%ebx
43a48e:	eb 09                	jmp    0x43a499
43a490:	bb 00 02 00 00       	mov    $0x200,%ebx
43a495:	eb 02                	jmp    0x43a499
43a497:	8b da                	mov    %edx,%ebx
43a499:	8b c6                	mov    %esi,%eax
43a49b:	23 c2                	and    %edx,%eax
43a49d:	74 25                	je     0x43a4c4
43a49f:	3d 00 01 00 00       	cmp    $0x100,%eax
43a4a4:	74 19                	je     0x43a4bf
43a4a6:	3d 00 02 00 00       	cmp    $0x200,%eax
43a4ab:	74 0b                	je     0x43a4b8
43a4ad:	3b c2                	cmp    %edx,%eax
43a4af:	75 13                	jne    0x43a4c4
43a4b1:	bf 00 0c 00 00       	mov    $0xc00,%edi
43a4b6:	eb 0c                	jmp    0x43a4c4
43a4b8:	bf 00 08 00 00       	mov    $0x800,%edi
43a4bd:	eb 05                	jmp    0x43a4c4
43a4bf:	bf 00 04 00 00       	mov    $0x400,%edi
43a4c4:	8b d6                	mov    %esi,%edx
43a4c6:	8b c6                	mov    %esi,%eax
43a4c8:	83 e0 02             	and    $0x2,%eax
43a4cb:	83 e2 01             	and    $0x1,%edx
43a4ce:	c1 e2 02             	shl    $0x2,%edx
43a4d1:	8b ce                	mov    %esi,%ecx
43a4d3:	0b d0                	or     %eax,%edx
43a4d5:	c1 e9 04             	shr    $0x4,%ecx
43a4d8:	8b c6                	mov    %esi,%eax
43a4da:	c1 e2 02             	shl    $0x2,%edx
43a4dd:	83 e0 04             	and    $0x4,%eax
43a4e0:	d1 ee                	shr    $1,%esi
43a4e2:	0b c2                	or     %edx,%eax
43a4e4:	83 e1 03             	and    $0x3,%ecx
43a4e7:	03 c0                	add    %eax,%eax
43a4e9:	83 e6 04             	and    $0x4,%esi
43a4ec:	0b c1                	or     %ecx,%eax
43a4ee:	0b c6                	or     %esi,%eax
43a4f0:	0b 45 fc             	or     -0x4(%ebp),%eax
43a4f3:	0b c3                	or     %ebx,%eax
43a4f5:	0b c7                	or     %edi,%eax
43a4f7:	5f                   	pop    %edi
43a4f8:	5e                   	pop    %esi
43a4f9:	5b                   	pop    %ebx
43a4fa:	c9                   	leave
43a4fb:	c3                   	ret
43a4fc:	8b ff                	mov    %edi,%edi
43a4fe:	55                   	push   %ebp
43a4ff:	8b ec                	mov    %esp,%ebp
43a501:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a504:	ba 00 03 00 00       	mov    $0x300,%edx
43a509:	8b c1                	mov    %ecx,%eax
43a50b:	c1 e9 16             	shr    $0x16,%ecx
43a50e:	c1 e8 0e             	shr    $0xe,%eax
43a511:	23 ca                	and    %edx,%ecx
43a513:	23 c2                	and    %edx,%eax
43a515:	3b c1                	cmp    %ecx,%eax
43a517:	74 03                	je     0x43a51c
43a519:	83 c8 ff             	or     $0xffffffff,%eax
43a51c:	5d                   	pop    %ebp
43a51d:	c3                   	ret
43a51e:	8b ff                	mov    %edi,%edi
43a520:	55                   	push   %ebp
43a521:	8b ec                	mov    %esp,%ebp
43a523:	83 ec 20             	sub    $0x20,%esp
43a526:	56                   	push   %esi
43a527:	57                   	push   %edi
43a528:	6a 07                	push   $0x7
43a52a:	59                   	pop    %ecx
43a52b:	33 c0                	xor    %eax,%eax
43a52d:	8d 7d e0             	lea    -0x20(%ebp),%edi