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
43a530:	f3 ab                	rep stos %eax,%es:(%edi)
43a532:	d9 75 e0             	fnstenv -0x20(%ebp)
43a535:	d9 65 e0             	fldenv -0x20(%ebp)
43a538:	8b 45 e0             	mov    -0x20(%ebp),%eax
43a53b:	25 3f 1f 00 00       	and    $0x1f3f,%eax
43a540:	50                   	push   %eax
43a541:	e8 9d fd ff ff       	call   0x43a2e3
43a546:	83 3d 44 58 45 00 01 	cmpl   $0x1,0x455844
43a54d:	8b f0                	mov    %eax,%esi
43a54f:	59                   	pop    %ecx
43a550:	7d 04                	jge    0x43a556
43a552:	33 c9                	xor    %ecx,%ecx
43a554:	eb 0d                	jmp    0x43a563
43a556:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
43a55a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a55d:	81 e1 c0 ff 00 00    	and    $0xffc0,%ecx
43a563:	51                   	push   %ecx
43a564:	e8 ca fc ff ff       	call   0x43a233
43a569:	59                   	pop    %ecx
43a56a:	8b d0                	mov    %eax,%edx
43a56c:	8b c8                	mov    %eax,%ecx
43a56e:	83 e2 3f             	and    $0x3f,%edx
43a571:	81 e1 00 ff ff ff    	and    $0xffffff00,%ecx
43a577:	c1 e2 02             	shl    $0x2,%edx
43a57a:	0b d1                	or     %ecx,%edx
43a57c:	8b ce                	mov    %esi,%ecx
43a57e:	c1 e2 06             	shl    $0x6,%edx
43a581:	83 e1 3f             	and    $0x3f,%ecx
43a584:	0b d1                	or     %ecx,%edx
43a586:	8b ce                	mov    %esi,%ecx
43a588:	c1 e2 02             	shl    $0x2,%edx
43a58b:	81 e1 00 03 00 00    	and    $0x300,%ecx
43a591:	0b d1                	or     %ecx,%edx
43a593:	c1 e2 0e             	shl    $0xe,%edx
43a596:	0b c2                	or     %edx,%eax
43a598:	5f                   	pop    %edi
43a599:	0b c6                	or     %esi,%eax
43a59b:	5e                   	pop    %esi
43a59c:	c9                   	leave
43a59d:	c3                   	ret
43a59e:	8b ff                	mov    %edi,%edi
43a5a0:	55                   	push   %ebp
43a5a1:	8b ec                	mov    %esp,%ebp
43a5a3:	51                   	push   %ecx
43a5a4:	56                   	push   %esi
43a5a5:	33 c0                	xor    %eax,%eax
43a5a7:	57                   	push   %edi
43a5a8:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
43a5ac:	dd 7d fc             	fnstsw -0x4(%ebp)
43a5af:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
43a5b3:	8b f2                	mov    %edx,%esi
43a5b5:	8b c2                	mov    %edx,%eax
43a5b7:	c1 ee 02             	shr    $0x2,%esi
43a5ba:	83 e0 10             	and    $0x10,%eax
43a5bd:	83 e6 08             	and    $0x8,%esi
43a5c0:	8b ca                	mov    %edx,%ecx
43a5c2:	0b f0                	or     %eax,%esi
43a5c4:	83 e1 02             	and    $0x2,%ecx
43a5c7:	c1 ee 02             	shr    $0x2,%esi
43a5ca:	8b c2                	mov    %edx,%eax
43a5cc:	83 e0 08             	and    $0x8,%eax
43a5cf:	c1 e1 03             	shl    $0x3,%ecx
43a5d2:	0b f0                	or     %eax,%esi
43a5d4:	8b c2                	mov    %edx,%eax
43a5d6:	83 e0 04             	and    $0x4,%eax
43a5d9:	d1 ee                	shr    $1,%esi
43a5db:	0b c8                	or     %eax,%ecx
43a5dd:	83 e2 01             	and    $0x1,%edx
43a5e0:	03 c9                	add    %ecx,%ecx
43a5e2:	c1 e2 04             	shl    $0x4,%edx
43a5e5:	0b f1                	or     %ecx,%esi
43a5e7:	0b f2                	or     %edx,%esi
43a5e9:	83 3d 44 58 45 00 01 	cmpl   $0x1,0x455844
43a5f0:	7d 04                	jge    0x43a5f6
43a5f2:	33 ff                	xor    %edi,%edi
43a5f4:	eb 0a                	jmp    0x43a600
43a5f6:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
43a5fa:	8b 7d fc             	mov    -0x4(%ebp),%edi
43a5fd:	83 e7 3f             	and    $0x3f,%edi
43a600:	8b d7                	mov    %edi,%edx
43a602:	8b c7                	mov    %edi,%eax
43a604:	83 e0 10             	and    $0x10,%eax
43a607:	c1 ea 02             	shr    $0x2,%edx
43a60a:	83 e2 08             	and    $0x8,%edx
43a60d:	8b cf                	mov    %edi,%ecx
43a60f:	0b d0                	or     %eax,%edx
43a611:	83 e1 02             	and    $0x2,%ecx
43a614:	8b c7                	mov    %edi,%eax
43a616:	c1 ea 02             	shr    $0x2,%edx
43a619:	83 e0 08             	and    $0x8,%eax
43a61c:	c1 e1 03             	shl    $0x3,%ecx
43a61f:	0b d0                	or     %eax,%edx
43a621:	8b c7                	mov    %edi,%eax
43a623:	83 e0 04             	and    $0x4,%eax
43a626:	d1 ea                	shr    $1,%edx
43a628:	0b c8                	or     %eax,%ecx
43a62a:	83 e7 01             	and    $0x1,%edi
43a62d:	03 c9                	add    %ecx,%ecx
43a62f:	c1 e7 04             	shl    $0x4,%edi
43a632:	0b d1                	or     %ecx,%edx
43a634:	0b d7                	or     %edi,%edx
43a636:	8b c2                	mov    %edx,%eax
43a638:	c1 e0 08             	shl    $0x8,%eax
43a63b:	0b c6                	or     %esi,%eax
43a63d:	c1 e0 10             	shl    $0x10,%eax
43a640:	0b c2                	or     %edx,%eax
43a642:	5f                   	pop    %edi
43a643:	0b c6                	or     %esi,%eax
43a645:	5e                   	pop    %esi
43a646:	c9                   	leave
43a647:	c3                   	ret
43a648:	8b ff                	mov    %edi,%edi
43a64a:	55                   	push   %ebp
43a64b:	8b ec                	mov    %esp,%ebp
43a64d:	83 ec 20             	sub    $0x20,%esp
43a650:	57                   	push   %edi
43a651:	ff 75 08             	push   0x8(%ebp)
43a654:	e8 ed fd ff ff       	call   0x43a446
43a659:	59                   	pop    %ecx
43a65a:	6a 07                	push   $0x7
43a65c:	0f b7 d0             	movzwl %ax,%edx
43a65f:	8d 7d e0             	lea    -0x20(%ebp),%edi
43a662:	59                   	pop    %ecx
43a663:	33 c0                	xor    %eax,%eax
43a665:	f3 ab                	rep stos %eax,%es:(%edi)
43a667:	d9 75 e0             	fnstenv -0x20(%ebp)
43a66a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
43a66d:	81 e2 3f 1f 00 00    	and    $0x1f3f,%edx
43a673:	81 e1 c0 e0 ff ff    	and    $0xffffe0c0,%ecx
43a679:	8b c2                	mov    %edx,%eax
43a67b:	0b ca                	or     %edx,%ecx
43a67d:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a680:	89 4d e0             	mov    %ecx,-0x20(%ebp)
43a683:	d9 65 e0             	fldenv -0x20(%ebp)
43a686:	ff 75 08             	push   0x8(%ebp)
43a689:	e8 02 fd ff ff       	call   0x43a390
43a68e:	83 3d 44 58 45 00 01 	cmpl   $0x1,0x455844
43a695:	59                   	pop    %ecx
43a696:	0f b7 d0             	movzwl %ax,%edx
43a699:	5f                   	pop    %edi
43a69a:	7c 25                	jl     0x43a6c1
43a69c:	81 e2 c0 ff 00 00    	and    $0xffc0,%edx
43a6a2:	0f b7 c2             	movzwl %dx,%eax
43a6a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a6a8:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
43a6ac:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a6af:	81 e1 3f 00 ff ff    	and    $0xffff003f,%ecx
43a6b5:	0f b7 c2             	movzwl %dx,%eax
43a6b8:	0b c8                	or     %eax,%ecx
43a6ba:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43a6bd:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
43a6c1:	c9                   	leave
43a6c2:	c3                   	ret
43a6c3:	8b ff                	mov    %edi,%edi
43a6c5:	55                   	push   %ebp
43a6c6:	8b ec                	mov    %esp,%ebp
43a6c8:	83 ec 20             	sub    $0x20,%esp
43a6cb:	56                   	push   %esi
43a6cc:	8b 75 08             	mov    0x8(%ebp),%esi
43a6cf:	8b ce                	mov    %esi,%ecx
43a6d1:	c1 e9 10             	shr    $0x10,%ecx
43a6d4:	83 e1 3f             	and    $0x3f,%ecx
43a6d7:	8b d1                	mov    %ecx,%edx
43a6d9:	8b c1                	mov    %ecx,%eax
43a6db:	83 e2 01             	and    $0x1,%edx
43a6de:	f7 da                	neg    %edx
43a6e0:	57                   	push   %edi
43a6e1:	1b d2                	sbb    %edx,%edx
43a6e3:	8d 7d e0             	lea    -0x20(%ebp),%edi
43a6e6:	83 e0 02             	and    $0x2,%eax
43a6e9:	83 e2 20             	and    $0x20,%edx
43a6ec:	f7 d8                	neg    %eax
43a6ee:	6a 00                	push   $0x0
43a6f0:	1b c0                	sbb    %eax,%eax
43a6f2:	83 e0 10             	and    $0x10,%eax