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
43a6f5:	0b d0                	or     %eax,%edx
43a6f7:	8b c1                	mov    %ecx,%eax
43a6f9:	83 e0 04             	and    $0x4,%eax
43a6fc:	f7 d8                	neg    %eax
43a6fe:	1b c0                	sbb    %eax,%eax
43a700:	83 e0 08             	and    $0x8,%eax
43a703:	0b d0                	or     %eax,%edx
43a705:	8b c1                	mov    %ecx,%eax
43a707:	83 e0 08             	and    $0x8,%eax
43a70a:	f7 d8                	neg    %eax
43a70c:	1b c0                	sbb    %eax,%eax
43a70e:	83 e0 04             	and    $0x4,%eax
43a711:	0b d0                	or     %eax,%edx
43a713:	f7 c1 10 00 00 00    	test   $0x10,%ecx
43a719:	58                   	pop    %eax
43a71a:	0f 95 c0             	setne  %al
43a71d:	83 e1 20             	and    $0x20,%ecx
43a720:	0b d0                	or     %eax,%edx
43a722:	f7 d9                	neg    %ecx
43a724:	6a 07                	push   $0x7
43a726:	1b c9                	sbb    %ecx,%ecx
43a728:	33 c0                	xor    %eax,%eax
43a72a:	83 e1 02             	and    $0x2,%ecx
43a72d:	0b d1                	or     %ecx,%edx
43a72f:	59                   	pop    %ecx
43a730:	f3 ab                	rep stos %eax,%es:(%edi)
43a732:	d9 75 e0             	fnstenv -0x20(%ebp)
43a735:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43a738:	83 e2 3f             	and    $0x3f,%edx
43a73b:	83 e0 c0             	and    $0xffffffc0,%eax
43a73e:	0b c2                	or     %edx,%eax
43a740:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43a743:	d9 65 e0             	fldenv -0x20(%ebp)
43a746:	c1 ee 18             	shr    $0x18,%esi
43a749:	83 e6 3f             	and    $0x3f,%esi
43a74c:	8b ce                	mov    %esi,%ecx
43a74e:	8b c6                	mov    %esi,%eax
43a750:	83 e1 01             	and    $0x1,%ecx
43a753:	f7 d9                	neg    %ecx
43a755:	6a 00                	push   $0x0
43a757:	1b c9                	sbb    %ecx,%ecx
43a759:	83 e0 02             	and    $0x2,%eax
43a75c:	83 e1 20             	and    $0x20,%ecx
43a75f:	f7 d8                	neg    %eax
43a761:	1b c0                	sbb    %eax,%eax
43a763:	83 e0 10             	and    $0x10,%eax
43a766:	0b c8                	or     %eax,%ecx
43a768:	8b c6                	mov    %esi,%eax
43a76a:	83 e0 04             	and    $0x4,%eax
43a76d:	f7 d8                	neg    %eax
43a76f:	1b c0                	sbb    %eax,%eax
43a771:	83 e0 08             	and    $0x8,%eax
43a774:	0b c8                	or     %eax,%ecx
43a776:	8b c6                	mov    %esi,%eax
43a778:	83 e0 08             	and    $0x8,%eax
43a77b:	f7 d8                	neg    %eax
43a77d:	1b c0                	sbb    %eax,%eax
43a77f:	83 e0 04             	and    $0x4,%eax
43a782:	0b c8                	or     %eax,%ecx
43a784:	f7 c6 10 00 00 00    	test   $0x10,%esi
43a78a:	58                   	pop    %eax
43a78b:	0f 95 c0             	setne  %al
43a78e:	0b c8                	or     %eax,%ecx
43a790:	83 e6 20             	and    $0x20,%esi
43a793:	f7 de                	neg    %esi
43a795:	5f                   	pop    %edi
43a796:	1b f6                	sbb    %esi,%esi
43a798:	83 e6 02             	and    $0x2,%esi
43a79b:	0b ce                	or     %esi,%ecx
43a79d:	83 3d 44 58 45 00 01 	cmpl   $0x1,0x455844
43a7a4:	5e                   	pop    %esi
43a7a5:	7c 16                	jl     0x43a7bd
43a7a7:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
43a7ab:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a7ae:	83 e1 3f             	and    $0x3f,%ecx
43a7b1:	83 e0 c0             	and    $0xffffffc0,%eax
43a7b4:	0b c1                	or     %ecx,%eax
43a7b6:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a7b9:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
43a7bd:	c9                   	leave
43a7be:	c3                   	ret
43a7bf:	8b ff                	mov    %edi,%edi
43a7c1:	55                   	push   %ebp
43a7c2:	8b ec                	mov    %esp,%ebp
43a7c4:	83 ec 24             	sub    $0x24,%esp
43a7c7:	a1 14 40 45 00       	mov    0x454014,%eax
43a7cc:	33 c5                	xor    %ebp,%eax
43a7ce:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a7d1:	8b 45 0c             	mov    0xc(%ebp),%eax
43a7d4:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a7d7:	8b 55 18             	mov    0x18(%ebp),%edx
43a7da:	89 4d dc             	mov    %ecx,-0x24(%ebp)
43a7dd:	89 45 e8             	mov    %eax,-0x18(%ebp)
43a7e0:	89 55 e4             	mov    %edx,-0x1c(%ebp)
43a7e3:	53                   	push   %ebx
43a7e4:	8b 5d 14             	mov    0x14(%ebp),%ebx
43a7e7:	89 5d e0             	mov    %ebx,-0x20(%ebp)
43a7ea:	56                   	push   %esi
43a7eb:	57                   	push   %edi
43a7ec:	8b 38                	mov    (%eax),%edi
43a7ee:	85 c9                	test   %ecx,%ecx
43a7f0:	0f 84 96 00 00 00    	je     0x43a88c
43a7f6:	8b 45 10             	mov    0x10(%ebp),%eax
43a7f9:	8b f1                	mov    %ecx,%esi
43a7fb:	89 7d f0             	mov    %edi,-0x10(%ebp)
43a7fe:	83 f8 04             	cmp    $0x4,%eax
43a801:	73 08                	jae    0x43a80b
43a803:	8d 4d f4             	lea    -0xc(%ebp),%ecx
43a806:	89 4d ec             	mov    %ecx,-0x14(%ebp)
43a809:	eb 05                	jmp    0x43a810
43a80b:	8b ce                	mov    %esi,%ecx
43a80d:	89 75 ec             	mov    %esi,-0x14(%ebp)
43a810:	0f b7 07             	movzwl (%edi),%eax
43a813:	52                   	push   %edx
43a814:	53                   	push   %ebx
43a815:	50                   	push   %eax
43a816:	51                   	push   %ecx
43a817:	e8 92 12 00 00       	call   0x43baae
43a81c:	8b d8                	mov    %eax,%ebx
43a81e:	83 c4 10             	add    $0x10,%esp
43a821:	83 fb ff             	cmp    $0xffffffff,%ebx
43a824:	74 59                	je     0x43a87f
43a826:	8b 45 ec             	mov    -0x14(%ebp),%eax
43a829:	3b c6                	cmp    %esi,%eax
43a82b:	74 10                	je     0x43a83d
43a82d:	39 5d 10             	cmp    %ebx,0x10(%ebp)
43a830:	72 48                	jb     0x43a87a
43a832:	53                   	push   %ebx
43a833:	50                   	push   %eax
43a834:	56                   	push   %esi
43a835:	e8 16 2c fe ff       	call   0x41d450
43a83a:	83 c4 0c             	add    $0xc,%esp
43a83d:	85 db                	test   %ebx,%ebx
43a83f:	74 1d                	je     0x43a85e
43a841:	8d 04 33             	lea    (%ebx,%esi,1),%eax
43a844:	8d 48 ff             	lea    -0x1(%eax),%ecx
43a847:	8b f0                	mov    %eax,%esi
43a849:	80 39 00             	cmpb   $0x0,(%ecx)
43a84c:	75 12                	jne    0x43a860
43a84e:	33 c0                	xor    %eax,%eax
43a850:	8b f1                	mov    %ecx,%esi
43a852:	8b 55 e8             	mov    -0x18(%ebp),%edx
43a855:	2b 75 dc             	sub    -0x24(%ebp),%esi
43a858:	89 02                	mov    %eax,(%edx)
43a85a:	8b c6                	mov    %esi,%eax
43a85c:	eb 61                	jmp    0x43a8bf
43a85e:	03 f3                	add    %ebx,%esi
43a860:	83 c7 02             	add    $0x2,%edi
43a863:	85 db                	test   %ebx,%ebx
43a865:	74 03                	je     0x43a86a
43a867:	89 7d f0             	mov    %edi,-0x10(%ebp)
43a86a:	8b 45 10             	mov    0x10(%ebp),%eax
43a86d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
43a870:	2b c3                	sub    %ebx,%eax
43a872:	8b 5d e0             	mov    -0x20(%ebp),%ebx
43a875:	89 45 10             	mov    %eax,0x10(%ebp)
43a878:	eb 84                	jmp    0x43a7fe
43a87a:	8b 45 f0             	mov    -0x10(%ebp),%eax
43a87d:	eb d3                	jmp    0x43a852
43a87f:	8b 55 e8             	mov    -0x18(%ebp),%edx
43a882:	83 c8 ff             	or     $0xffffffff,%eax
43a885:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a888:	89 0a                	mov    %ecx,(%edx)
43a88a:	eb 33                	jmp    0x43a8bf
43a88c:	33 f6                	xor    %esi,%esi
43a88e:	52                   	push   %edx
43a88f:	eb 13                	jmp    0x43a8a4
43a891:	85 c0                	test   %eax,%eax
43a893:	74 07                	je     0x43a89c
43a895:	80 7c 05 f3 00       	cmpb   $0x0,-0xd(%ebp,%eax,1)
43a89a:	74 20                	je     0x43a8bc
43a89c:	ff 75 e4             	push   -0x1c(%ebp)
43a89f:	03 f0                	add    %eax,%esi
43a8a1:	83 c7 02             	add    $0x2,%edi
43a8a4:	0f b7 07             	movzwl (%edi),%eax