43d5b9:	56                   	push   %esi
43d5ba:	be 00 0c 00 00       	mov    $0xc00,%esi
43d5bf:	8b c2                	mov    %edx,%eax
43d5c1:	23 c6                	and    %esi,%eax
43d5c3:	3b c6                	cmp    %esi,%eax
43d5c5:	5e                   	pop    %esi
43d5c6:	75 08                	jne    0x43d5d0
43d5c8:	81 c9 00 03 00 00    	or     $0x300,%ecx
43d5ce:	eb 1e                	jmp    0x43d5ee
43d5d0:	f7 c2 00 08 00 00    	test   $0x800,%edx
43d5d6:	74 08                	je     0x43d5e0
43d5d8:	81 c9 00 01 00 00    	or     $0x100,%ecx
43d5de:	eb 0e                	jmp    0x43d5ee
43d5e0:	f7 c2 00 04 00 00    	test   $0x400,%edx
43d5e6:	74 06                	je     0x43d5ee
43d5e8:	81 c9 00 02 00 00    	or     $0x200,%ecx
43d5ee:	8b c1                	mov    %ecx,%eax
43d5f0:	5d                   	pop    %ebp
43d5f1:	c3                   	ret
43d5f2:	8b ff                	mov    %edi,%edi
43d5f4:	55                   	push   %ebp
43d5f5:	8b ec                	mov    %esp,%ebp
43d5f7:	8b 55 08             	mov    0x8(%ebp),%edx
43d5fa:	33 c9                	xor    %ecx,%ecx
43d5fc:	f7 c2 1f 03 00 00    	test   $0x31f,%edx
43d602:	74 5b                	je     0x43d65f
43d604:	f6 c2 10             	test   $0x10,%dl
43d607:	74 01                	je     0x43d60a
43d609:	41                   	inc    %ecx
43d60a:	f6 c2 08             	test   $0x8,%dl
43d60d:	74 03                	je     0x43d612
43d60f:	83 c9 04             	or     $0x4,%ecx
43d612:	f6 c2 04             	test   $0x4,%dl
43d615:	74 03                	je     0x43d61a
43d617:	83 c9 08             	or     $0x8,%ecx
43d61a:	f6 c2 02             	test   $0x2,%dl
43d61d:	74 03                	je     0x43d622
43d61f:	83 c9 10             	or     $0x10,%ecx
43d622:	f6 c2 01             	test   $0x1,%dl
43d625:	74 03                	je     0x43d62a
43d627:	83 c9 20             	or     $0x20,%ecx
43d62a:	56                   	push   %esi
43d62b:	be 00 03 00 00       	mov    $0x300,%esi
43d630:	8b c2                	mov    %edx,%eax
43d632:	23 c6                	and    %esi,%eax
43d634:	3b c6                	cmp    %esi,%eax
43d636:	5e                   	pop    %esi
43d637:	75 08                	jne    0x43d641
43d639:	81 c9 00 0c 00 00    	or     $0xc00,%ecx
43d63f:	eb 1e                	jmp    0x43d65f
43d641:	f7 c2 00 02 00 00    	test   $0x200,%edx
43d647:	74 08                	je     0x43d651
43d649:	81 c9 00 04 00 00    	or     $0x400,%ecx
43d64f:	eb 0e                	jmp    0x43d65f
43d651:	f7 c2 00 01 00 00    	test   $0x100,%edx
43d657:	74 06                	je     0x43d65f
43d659:	81 c9 00 08 00 00    	or     $0x800,%ecx
43d65f:	8b c1                	mov    %ecx,%eax
43d661:	5d                   	pop    %ebp
43d662:	c3                   	ret
43d663:	8b ff                	mov    %edi,%edi
43d665:	55                   	push   %ebp
43d666:	8b ec                	mov    %esp,%ebp
43d668:	8b 55 08             	mov    0x8(%ebp),%edx
43d66b:	33 c9                	xor    %ecx,%ecx
43d66d:	f7 c2 1f 03 00 00    	test   $0x31f,%edx
43d673:	74 6a                	je     0x43d6df
43d675:	f6 c2 10             	test   $0x10,%dl
43d678:	74 05                	je     0x43d67f
43d67a:	b9 80 00 00 00       	mov    $0x80,%ecx
43d67f:	57                   	push   %edi
43d680:	bf 00 02 00 00       	mov    $0x200,%edi
43d685:	f6 c2 08             	test   $0x8,%dl
43d688:	74 02                	je     0x43d68c
43d68a:	0b cf                	or     %edi,%ecx
43d68c:	f6 c2 04             	test   $0x4,%dl
43d68f:	74 06                	je     0x43d697
43d691:	81 c9 00 04 00 00    	or     $0x400,%ecx
43d697:	f6 c2 02             	test   $0x2,%dl
43d69a:	74 06                	je     0x43d6a2
43d69c:	81 c9 00 08 00 00    	or     $0x800,%ecx
43d6a2:	f6 c2 01             	test   $0x1,%dl
43d6a5:	74 06                	je     0x43d6ad
43d6a7:	81 c9 00 10 00 00    	or     $0x1000,%ecx
43d6ad:	56                   	push   %esi
43d6ae:	be 00 03 00 00       	mov    $0x300,%esi
43d6b3:	8b c2                	mov    %edx,%eax
43d6b5:	23 c6                	and    %esi,%eax
43d6b7:	3b c6                	cmp    %esi,%eax
43d6b9:	5e                   	pop    %esi
43d6ba:	75 08                	jne    0x43d6c4
43d6bc:	81 c9 00 60 00 00    	or     $0x6000,%ecx
43d6c2:	eb 1a                	jmp    0x43d6de
43d6c4:	85 d7                	test   %edx,%edi
43d6c6:	74 08                	je     0x43d6d0
43d6c8:	81 c9 00 20 00 00    	or     $0x2000,%ecx
43d6ce:	eb 0e                	jmp    0x43d6de
43d6d0:	f7 c2 00 01 00 00    	test   $0x100,%edx
43d6d6:	74 06                	je     0x43d6de
43d6d8:	81 c9 00 40 00 00    	or     $0x4000,%ecx
43d6de:	5f                   	pop    %edi
43d6df:	8b c1                	mov    %ecx,%eax
43d6e1:	5d                   	pop    %ebp
43d6e2:	c3                   	ret
43d6e3:	8b ff                	mov    %edi,%edi
43d6e5:	55                   	push   %ebp
43d6e6:	8b ec                	mov    %esp,%ebp
43d6e8:	8b 55 08             	mov    0x8(%ebp),%edx
43d6eb:	33 c9                	xor    %ecx,%ecx
43d6ed:	f6 c2 1f             	test   $0x1f,%dl
43d6f0:	74 4e                	je     0x43d740
43d6f2:	56                   	push   %esi
43d6f3:	be 10 00 00 10       	mov    $0x10000010,%esi
43d6f8:	8b c2                	mov    %edx,%eax
43d6fa:	23 c6                	and    %esi,%eax
43d6fc:	3b c6                	cmp    %esi,%eax
43d6fe:	75 01                	jne    0x43d701
43d700:	41                   	inc    %ecx
43d701:	be 08 00 00 08       	mov    $0x8000008,%esi
43d706:	8b c2                	mov    %edx,%eax
43d708:	23 c6                	and    %esi,%eax
43d70a:	3b c6                	cmp    %esi,%eax
43d70c:	75 03                	jne    0x43d711
43d70e:	83 c9 04             	or     $0x4,%ecx
43d711:	be 04 00 00 04       	mov    $0x4000004,%esi
43d716:	8b c2                	mov    %edx,%eax
43d718:	23 c6                	and    %esi,%eax
43d71a:	3b c6                	cmp    %esi,%eax
43d71c:	75 03                	jne    0x43d721
43d71e:	83 c9 08             	or     $0x8,%ecx
43d721:	be 02 00 00 02       	mov    $0x2000002,%esi
43d726:	8b c2                	mov    %edx,%eax
43d728:	23 c6                	and    %esi,%eax
43d72a:	3b c6                	cmp    %esi,%eax
43d72c:	5e                   	pop    %esi
43d72d:	75 03                	jne    0x43d732
43d72f:	83 c9 10             	or     $0x10,%ecx
43d732:	b8 01 00 00 01       	mov    $0x1000001,%eax
43d737:	23 d0                	and    %eax,%edx
43d739:	3b d0                	cmp    %eax,%edx
43d73b:	75 03                	jne    0x43d740
43d73d:	83 c9 20             	or     $0x20,%ecx
43d740:	8b c1                	mov    %ecx,%eax
43d742:	5d                   	pop    %ebp
43d743:	c3                   	ret
43d744:	8b ff                	mov    %edi,%edi
43d746:	55                   	push   %ebp
43d747:	8b ec                	mov    %esp,%ebp
43d749:	8b 55 08             	mov    0x8(%ebp),%edx
43d74c:	33 c9                	xor    %ecx,%ecx
43d74e:	f6 c2 1f             	test   $0x1f,%dl
43d751:	74 4e                	je     0x43d7a1
43d753:	56                   	push   %esi
43d754:	be 10 00 10 00       	mov    $0x100010,%esi
43d759:	8b c2                	mov    %edx,%eax
43d75b:	23 c6                	and    %esi,%eax
43d75d:	3b c6                	cmp    %esi,%eax
43d75f:	75 01                	jne    0x43d762
43d761:	41                   	inc    %ecx
43d762:	be 08 00 08 00       	mov    $0x80008,%esi
43d767:	8b c2                	mov    %edx,%eax
43d769:	23 c6                	and    %esi,%eax
43d76b:	3b c6                	cmp    %esi,%eax
43d76d:	75 03                	jne    0x43d772
43d76f:	83 c9 04             	or     $0x4,%ecx
43d772:	be 04 00 04 00       	mov    $0x40004,%esi
43d777:	8b c2                	mov    %edx,%eax
43d779:	23 c6                	and    %esi,%eax
43d77b:	3b c6                	cmp    %esi,%eax
43d77d:	75 03                	jne    0x43d782
43d77f:	83 c9 08             	or     $0x8,%ecx
43d782:	be 02 00 02 00       	mov    $0x20002,%esi
43d787:	8b c2                	mov    %edx,%eax
43d789:	23 c6                	and    %esi,%eax
43d78b:	3b c6                	cmp    %esi,%eax
43d78d:	5e                   	pop    %esi
43d78e:	75 03                	jne    0x43d793
43d790:	83 c9 10             	or     $0x10,%ecx
43d793:	b8 01 00 01 00       	mov    $0x10001,%eax
43d798:	23 d0                	and    %eax,%edx
43d79a:	3b d0                	cmp    %eax,%edx
43d79c:	75 03                	jne    0x43d7a1
43d79e:	83 c9 20             	or     $0x20,%ecx
43d7a1:	8b c1                	mov    %ecx,%eax
43d7a3:	5d                   	pop    %ebp
43d7a4:	c3                   	ret
43d7a5:	8b ff                	mov    %edi,%edi
43d7a7:	55                   	push   %ebp
43d7a8:	8b ec                	mov    %esp,%ebp
43d7aa:	51                   	push   %ecx
43d7ab:	51                   	push   %ecx
43d7ac:	33 c0                	xor    %eax,%eax
43d7ae:	21 45 f8             	and    %eax,-0x8(%ebp)
43d7b1:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
43d7b5:	d9 7d fc             	fnstcw -0x4(%ebp)
43d7b8:	83 3d 1c ae 46 00 01 	cmpl   $0x1,0x46ae1c
43d7bf:	7c 04                	jl     0x43d7c5
43d7c1:	0f ae 5d f8          	stmxcsr -0x8(%ebp)
43d7c5:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
43d7c9:	56                   	push   %esi
43d7ca:	50                   	push   %eax
43d7cb:	e8 af fd ff ff       	call   0x43d57f
43d7d0:	ff 75 f8             	push   -0x8(%ebp)
43d7d3:	8b f0                	mov    %eax,%esi
43d7d5:	e8 28 fd ff ff       	call   0x43d502
43d7da:	59                   	pop    %ecx
43d7db:	0b c6                	or     %esi,%eax
43d7dd:	59                   	pop    %ecx
43d7de:	25 1f 03 00 00       	and    $0x31f,%eax
43d7e3:	5e                   	pop    %esi
43d7e4:	8b e5                	mov    %ebp,%esp
43d7e6:	5d                   	pop    %ebp
43d7e7:	c3                   	ret
43d7e8:	8b ff                	mov    %edi,%edi
43d7ea:	55                   	push   %ebp
43d7eb:	8b ec                	mov    %esp,%ebp
43d7ed:	51                   	push   %ecx
43d7ee:	51                   	push   %ecx
43d7ef:	33 c0                	xor    %eax,%eax
43d7f1:	33 c9                	xor    %ecx,%ecx
43d7f3:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
43d7f7:	89 4d f8             	mov    %ecx,-0x8(%ebp)
43d7fa:	dd 7d fc             	fnstsw -0x4(%ebp)
43d7fd:	83 3d 1c ae 46 00 01 	cmpl   $0x1,0x46ae1c
43d804:	7c 04                	jl     0x43d80a
43d806:	0f ae 5d f8          	stmxcsr -0x8(%ebp)
43d80a:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
43d80e:	8b c1                	mov    %ecx,%eax
43d810:	f6 c2 3d             	test   $0x3d,%dl
43d813:	74 32                	je     0x43d847
43d815:	f6 c2 01             	test   $0x1,%dl
43d818:	74 05                	je     0x43d81f
43d81a:	b8 10 00 10 00       	mov    $0x100010,%eax
43d81f:	f6 c2 04             	test   $0x4,%dl
43d822:	74 05                	je     0x43d829
43d824:	0d 08 00 08 00       	or     $0x80008,%eax
43d829:	f6 c2 08             	test   $0x8,%dl
43d82c:	74 05                	je     0x43d833
43d82e:	0d 04 00 04 00       	or     $0x40004,%eax
43d833:	f6 c2 10             	test   $0x10,%dl
43d836:	74 05                	je     0x43d83d
43d838:	0d 02 00 02 00       	or     $0x20002,%eax
43d83d:	f6 c2 20             	test   $0x20,%dl
43d840:	74 05                	je     0x43d847
43d842:	0d 01 00 01 00       	or     $0x10001,%eax
43d847:	8b 55 f8             	mov    -0x8(%ebp),%edx
43d84a:	f6 c2 3d             	test   $0x3d,%dl
43d84d:	74 36                	je     0x43d885
43d84f:	f6 c2 01             	test   $0x1,%dl
43d852:	74 05                	je     0x43d859
43d854:	b9 10 00 00 10       	mov    $0x10000010,%ecx
43d859:	f6 c2 04             	test   $0x4,%dl
43d85c:	74 06                	je     0x43d864
43d85e:	81 c9 08 00 00 08    	or     $0x8000008,%ecx
43d864:	f6 c2 08             	test   $0x8,%dl
43d867:	74 06                	je     0x43d86f
43d869:	81 c9 04 00 00 04    	or     $0x4000004,%ecx
43d86f:	f6 c2 10             	test   $0x10,%dl
43d872:	74 06                	je     0x43d87a
43d874:	81 c9 02 00 00 02    	or     $0x2000002,%ecx
43d87a:	f6 c2 20             	test   $0x20,%dl
43d87d:	74 06                	je     0x43d885
43d87f:	81 c9 01 00 00 01    	or     $0x1000001,%ecx
43d885:	0b c1                	or     %ecx,%eax
43d887:	25 1f 00 1f 1f       	and    $0x1f1f001f,%eax
43d88c:	8b e5                	mov    %ebp,%esp
43d88e:	5d                   	pop    %ebp
43d88f:	c3                   	ret
43d890:	8b ff                	mov    %edi,%edi
43d892:	55                   	push   %ebp
43d893:	8b ec                	mov    %esp,%ebp
43d895:	83 ec 20             	sub    $0x20,%esp
43d898:	53                   	push   %ebx
43d899:	56                   	push   %esi
43d89a:	57                   	push   %edi
43d89b:	33 ff                	xor    %edi,%edi
43d89d:	89 7d e0             	mov    %edi,-0x20(%ebp)
43d8a0:	89 7d e4             	mov    %edi,-0x1c(%ebp)
43d8a3:	89 7d e8             	mov    %edi,-0x18(%ebp)
43d8a6:	89 7d ec             	mov    %edi,-0x14(%ebp)
43d8a9:	89 7d f0             	mov    %edi,-0x10(%ebp)
43d8ac:	89 7d f4             	mov    %edi,-0xc(%ebp)
43d8af:	89 7d f8             	mov    %edi,-0x8(%ebp)
43d8b2:	d9 75 e0             	fnstenv -0x20(%ebp)
43d8b5:	bb 1f 03 00 00       	mov    $0x31f,%ebx
43d8ba:	53                   	push   %ebx
43d8bb:	e8 32 fd ff ff       	call   0x43d5f2
43d8c0:	ff 75 08             	push   0x8(%ebp)
43d8c3:	8b f0                	mov    %eax,%esi
43d8c5:	f7 d6                	not    %esi
43d8c7:	23 75 e0             	and    -0x20(%ebp),%esi
43d8ca:	e8 23 fd ff ff       	call   0x43d5f2
43d8cf:	59                   	pop    %ecx
43d8d0:	0b f0                	or     %eax,%esi
43d8d2:	59                   	pop    %ecx
43d8d3:	89 75 e0             	mov    %esi,-0x20(%ebp)
43d8d6:	d9 65 e0             	fldenv -0x20(%ebp)
43d8d9:	83 3d 1c ae 46 00 01 	cmpl   $0x1,0x46ae1c
43d8e0:	7c 27                	jl     0x43d909
43d8e2:	89 7d fc             	mov    %edi,-0x4(%ebp)
43d8e5:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
43d8e9:	53                   	push   %ebx
43d8ea:	e8 74 fd ff ff       	call   0x43d663
43d8ef:	ff 75 08             	push   0x8(%ebp)
43d8f2:	8b f0                	mov    %eax,%esi
43d8f4:	f7 d6                	not    %esi
43d8f6:	23 75 fc             	and    -0x4(%ebp),%esi
43d8f9:	e8 65 fd ff ff       	call   0x43d663
43d8fe:	59                   	pop    %ecx
43d8ff:	0b f0                	or     %eax,%esi
43d901:	59                   	pop    %ecx
43d902:	89 75 fc             	mov    %esi,-0x4(%ebp)
43d905:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
43d909:	5f                   	pop    %edi
43d90a:	5e                   	pop    %esi
43d90b:	5b                   	pop    %ebx
43d90c:	8b e5                	mov    %ebp,%esp
43d90e:	5d                   	pop    %ebp
43d90f:	c3                   	ret
43d910:	8b ff                	mov    %edi,%edi
43d912:	55                   	push   %ebp
43d913:	8b ec                	mov    %esp,%ebp
43d915:	83 ec 20             	sub    $0x20,%esp
43d918:	53                   	push   %ebx
43d919:	56                   	push   %esi
43d91a:	57                   	push   %edi
43d91b:	33 ff                	xor    %edi,%edi
43d91d:	89 7d e0             	mov    %edi,-0x20(%ebp)
43d920:	89 7d e4             	mov    %edi,-0x1c(%ebp)
43d923:	89 7d e8             	mov    %edi,-0x18(%ebp)
43d926:	89 7d ec             	mov    %edi,-0x14(%ebp)
43d929:	89 7d f0             	mov    %edi,-0x10(%ebp)
43d92c:	89 7d f4             	mov    %edi,-0xc(%ebp)
43d92f:	89 7d f8             	mov    %edi,-0x8(%ebp)
43d932:	d9 75 e0             	fnstenv -0x20(%ebp)
43d935:	bb 1f 00 1f 1f       	mov    $0x1f1f001f,%ebx
43d93a:	53                   	push   %ebx
43d93b:	e8 04 fe ff ff       	call   0x43d744
43d940:	ff 75 08             	push   0x8(%ebp)
43d943:	8b f0                	mov    %eax,%esi
43d945:	f7 d6                	not    %esi
43d947:	23 75 e4             	and    -0x1c(%ebp),%esi
43d94a:	e8 f5 fd ff ff       	call   0x43d744
43d94f:	59                   	pop    %ecx
43d950:	0b f0                	or     %eax,%esi
43d952:	59                   	pop    %ecx
43d953:	89 75 e4             	mov    %esi,-0x1c(%ebp)
43d956:	d9 65 e0             	fldenv -0x20(%ebp)
43d959:	83 3d 1c ae 46 00 01 	cmpl   $0x1,0x46ae1c
43d960:	7c 27                	jl     0x43d989