43a6ee:	bf 00 02 00 00       	mov    $0x200,%edi
43a6f3:	f6 c1 08             	test   $0x8,%cl
43a6f6:	74 02                	je     0x43a6fa
43a6f8:	0b c7                	or     %edi,%eax
43a6fa:	f6 c1 04             	test   $0x4,%cl
43a6fd:	74 05                	je     0x43a704
43a6ff:	0d 00 04 00 00       	or     $0x400,%eax
43a704:	f6 c1 02             	test   $0x2,%cl
43a707:	74 05                	je     0x43a70e
43a709:	0d 00 08 00 00       	or     $0x800,%eax
43a70e:	f6 c1 01             	test   $0x1,%cl
43a711:	74 05                	je     0x43a718
43a713:	0d 00 10 00 00       	or     $0x1000,%eax
43a718:	be 00 01 00 00       	mov    $0x100,%esi
43a71d:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
43a723:	74 02                	je     0x43a727
43a725:	0b c6                	or     %esi,%eax
43a727:	8b d1                	mov    %ecx,%edx
43a729:	bb 00 03 00 00       	mov    $0x300,%ebx
43a72e:	23 d3                	and    %ebx,%edx
43a730:	74 1f                	je     0x43a751
43a732:	3b d6                	cmp    %esi,%edx
43a734:	74 16                	je     0x43a74c
43a736:	3b d7                	cmp    %edi,%edx
43a738:	74 0b                	je     0x43a745
43a73a:	3b d3                	cmp    %ebx,%edx
43a73c:	75 13                	jne    0x43a751
43a73e:	0d 00 60 00 00       	or     $0x6000,%eax
43a743:	eb 0c                	jmp    0x43a751
43a745:	0d 00 40 00 00       	or     $0x4000,%eax
43a74a:	eb 05                	jmp    0x43a751
43a74c:	0d 00 20 00 00       	or     $0x2000,%eax
43a751:	ba 00 00 00 03       	mov    $0x3000000,%edx
43a756:	5f                   	pop    %edi
43a757:	23 ca                	and    %edx,%ecx
43a759:	5e                   	pop    %esi
43a75a:	5b                   	pop    %ebx
43a75b:	81 f9 00 00 00 01    	cmp    $0x1000000,%ecx
43a761:	74 18                	je     0x43a77b
43a763:	81 f9 00 00 00 02    	cmp    $0x2000000,%ecx
43a769:	74 0b                	je     0x43a776
43a76b:	3b ca                	cmp    %edx,%ecx
43a76d:	75 11                	jne    0x43a780
43a76f:	0d 00 80 00 00       	or     $0x8000,%eax
43a774:	5d                   	pop    %ebp
43a775:	c3                   	ret
43a776:	83 c8 40             	or     $0x40,%eax
43a779:	5d                   	pop    %ebp
43a77a:	c3                   	ret
43a77b:	0d 40 80 00 00       	or     $0x8040,%eax
43a780:	5d                   	pop    %ebp
43a781:	c3                   	ret
43a782:	55                   	push   %ebp
43a783:	8b ec                	mov    %esp,%ebp
43a785:	83 ec 0c             	sub    $0xc,%esp
43a788:	9b d9 7d fc          	fstcw  -0x4(%ebp)
43a78c:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
43a790:	33 c9                	xor    %ecx,%ecx
43a792:	a8 01                	test   $0x1,%al
43a794:	74 03                	je     0x43a799
43a796:	6a 10                	push   $0x10
43a798:	59                   	pop    %ecx
43a799:	a8 04                	test   $0x4,%al
43a79b:	74 03                	je     0x43a7a0
43a79d:	83 c9 08             	or     $0x8,%ecx
43a7a0:	a8 08                	test   $0x8,%al
43a7a2:	74 03                	je     0x43a7a7
43a7a4:	83 c9 04             	or     $0x4,%ecx
43a7a7:	a8 10                	test   $0x10,%al
43a7a9:	74 03                	je     0x43a7ae
43a7ab:	83 c9 02             	or     $0x2,%ecx
43a7ae:	a8 20                	test   $0x20,%al
43a7b0:	74 03                	je     0x43a7b5
43a7b2:	83 c9 01             	or     $0x1,%ecx
43a7b5:	a8 02                	test   $0x2,%al
43a7b7:	74 06                	je     0x43a7bf
43a7b9:	81 c9 00 00 08 00    	or     $0x80000,%ecx
43a7bf:	53                   	push   %ebx
43a7c0:	56                   	push   %esi
43a7c1:	0f b7 f0             	movzwl %ax,%esi
43a7c4:	bb 00 0c 00 00       	mov    $0xc00,%ebx
43a7c9:	8b d6                	mov    %esi,%edx
43a7cb:	57                   	push   %edi
43a7cc:	bf 00 02 00 00       	mov    $0x200,%edi
43a7d1:	23 d3                	and    %ebx,%edx
43a7d3:	74 26                	je     0x43a7fb
43a7d5:	81 fa 00 04 00 00    	cmp    $0x400,%edx
43a7db:	74 18                	je     0x43a7f5
43a7dd:	81 fa 00 08 00 00    	cmp    $0x800,%edx
43a7e3:	74 0c                	je     0x43a7f1
43a7e5:	3b d3                	cmp    %ebx,%edx
43a7e7:	75 12                	jne    0x43a7fb
43a7e9:	81 c9 00 03 00 00    	or     $0x300,%ecx
43a7ef:	eb 0a                	jmp    0x43a7fb
43a7f1:	0b cf                	or     %edi,%ecx
43a7f3:	eb 06                	jmp    0x43a7fb
43a7f5:	81 c9 00 01 00 00    	or     $0x100,%ecx
43a7fb:	81 e6 00 03 00 00    	and    $0x300,%esi
43a801:	74 0c                	je     0x43a80f
43a803:	3b f7                	cmp    %edi,%esi
43a805:	75 0e                	jne    0x43a815
43a807:	81 c9 00 00 01 00    	or     $0x10000,%ecx
43a80d:	eb 06                	jmp    0x43a815
43a80f:	81 c9 00 00 02 00    	or     $0x20000,%ecx
43a815:	0f b7 c0             	movzwl %ax,%eax
43a818:	ba 00 10 00 00       	mov    $0x1000,%edx
43a81d:	85 c2                	test   %eax,%edx
43a81f:	74 06                	je     0x43a827
43a821:	81 c9 00 00 04 00    	or     $0x40000,%ecx
43a827:	8b 7d 0c             	mov    0xc(%ebp),%edi
43a82a:	8b f7                	mov    %edi,%esi
43a82c:	8b 45 08             	mov    0x8(%ebp),%eax
43a82f:	f7 d6                	not    %esi
43a831:	23 f1                	and    %ecx,%esi
43a833:	23 c7                	and    %edi,%eax
43a835:	0b f0                	or     %eax,%esi
43a837:	3b f1                	cmp    %ecx,%esi
43a839:	0f 84 a6 00 00 00    	je     0x43a8e5
43a83f:	56                   	push   %esi
43a840:	e8 3f 02 00 00       	call   0x43aa84
43a845:	0f b7 c0             	movzwl %ax,%eax
43a848:	59                   	pop    %ecx
43a849:	89 45 f8             	mov    %eax,-0x8(%ebp)
43a84c:	d9 6d f8             	fldcw  -0x8(%ebp)
43a84f:	9b d9 7d f8          	fstcw  -0x8(%ebp)
43a853:	8b 45 f8             	mov    -0x8(%ebp),%eax
43a856:	33 f6                	xor    %esi,%esi
43a858:	a8 01                	test   $0x1,%al
43a85a:	74 03                	je     0x43a85f
43a85c:	6a 10                	push   $0x10
43a85e:	5e                   	pop    %esi
43a85f:	a8 04                	test   $0x4,%al
43a861:	74 03                	je     0x43a866
43a863:	83 ce 08             	or     $0x8,%esi
43a866:	a8 08                	test   $0x8,%al
43a868:	74 03                	je     0x43a86d
43a86a:	83 ce 04             	or     $0x4,%esi
43a86d:	a8 10                	test   $0x10,%al
43a86f:	74 03                	je     0x43a874
43a871:	83 ce 02             	or     $0x2,%esi
43a874:	a8 20                	test   $0x20,%al
43a876:	74 03                	je     0x43a87b
43a878:	83 ce 01             	or     $0x1,%esi
43a87b:	a8 02                	test   $0x2,%al
43a87d:	74 06                	je     0x43a885
43a87f:	81 ce 00 00 08 00    	or     $0x80000,%esi
43a885:	0f b7 d0             	movzwl %ax,%edx
43a888:	8b ca                	mov    %edx,%ecx
43a88a:	23 cb                	and    %ebx,%ecx
43a88c:	74 2a                	je     0x43a8b8
43a88e:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
43a894:	74 1c                	je     0x43a8b2
43a896:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
43a89c:	74 0c                	je     0x43a8aa
43a89e:	3b cb                	cmp    %ebx,%ecx
43a8a0:	75 16                	jne    0x43a8b8
43a8a2:	81 ce 00 03 00 00    	or     $0x300,%esi
43a8a8:	eb 0e                	jmp    0x43a8b8
43a8aa:	81 ce 00 02 00 00    	or     $0x200,%esi
43a8b0:	eb 06                	jmp    0x43a8b8
43a8b2:	81 ce 00 01 00 00    	or     $0x100,%esi
43a8b8:	81 e2 00 03 00 00    	and    $0x300,%edx
43a8be:	74 10                	je     0x43a8d0
43a8c0:	81 fa 00 02 00 00    	cmp    $0x200,%edx
43a8c6:	75 0e                	jne    0x43a8d6
43a8c8:	81 ce 00 00 01 00    	or     $0x10000,%esi
43a8ce:	eb 06                	jmp    0x43a8d6
43a8d0:	81 ce 00 00 02 00    	or     $0x20000,%esi
43a8d6:	ba 00 10 00 00       	mov    $0x1000,%edx
43a8db:	85 c2                	test   %eax,%edx
43a8dd:	74 06                	je     0x43a8e5
43a8df:	81 ce 00 00 04 00    	or     $0x40000,%esi
43a8e5:	83 3d f8 41 4c 00 01 	cmpl   $0x1,0x4c41f8
43a8ec:	0f 8c 89 01 00 00    	jl     0x43aa7b
43a8f2:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
43a8f8:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
43a8fc:	8b 45 f4             	mov    -0xc(%ebp),%eax
43a8ff:	33 c9                	xor    %ecx,%ecx
43a901:	84 c0                	test   %al,%al
43a903:	79 03                	jns    0x43a908
43a905:	6a 10                	push   $0x10
43a907:	59                   	pop    %ecx
43a908:	a9 00 02 00 00       	test   $0x200,%eax
43a90d:	74 03                	je     0x43a912
43a90f:	83 c9 08             	or     $0x8,%ecx
43a912:	a9 00 04 00 00       	test   $0x400,%eax
43a917:	74 03                	je     0x43a91c
43a919:	83 c9 04             	or     $0x4,%ecx
43a91c:	a9 00 08 00 00       	test   $0x800,%eax
43a921:	74 03                	je     0x43a926
43a923:	83 c9 02             	or     $0x2,%ecx
43a926:	85 c2                	test   %eax,%edx
43a928:	74 03                	je     0x43a92d
43a92a:	83 c9 01             	or     $0x1,%ecx
43a92d:	a9 00 01 00 00       	test   $0x100,%eax
43a932:	74 06                	je     0x43a93a
43a934:	81 c9 00 00 08 00    	or     $0x80000,%ecx
43a93a:	8b d0                	mov    %eax,%edx
43a93c:	bb 00 60 00 00       	mov    $0x6000,%ebx
43a941:	23 d3                	and    %ebx,%edx
43a943:	74 2a                	je     0x43a96f
43a945:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
43a94b:	74 1c                	je     0x43a969
43a94d:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
43a953:	74 0c                	je     0x43a961
43a955:	3b d3                	cmp    %ebx,%edx
43a957:	75 16                	jne    0x43a96f
43a959:	81 c9 00 03 00 00    	or     $0x300,%ecx
43a95f:	eb 0e                	jmp    0x43a96f
43a961:	81 c9 00 02 00 00    	or     $0x200,%ecx
43a967:	eb 06                	jmp    0x43a96f
43a969:	81 c9 00 01 00 00    	or     $0x100,%ecx
43a96f:	6a 40                	push   $0x40
43a971:	25 40 80 00 00       	and    $0x8040,%eax
43a976:	5b                   	pop    %ebx
43a977:	2b c3                	sub    %ebx,%eax
43a979:	74 1b                	je     0x43a996
43a97b:	2d c0 7f 00 00       	sub    $0x7fc0,%eax
43a980:	74 0c                	je     0x43a98e
43a982:	2b c3                	sub    %ebx,%eax
43a984:	75 16                	jne    0x43a99c
43a986:	81 c9 00 00 00 01    	or     $0x1000000,%ecx
43a98c:	eb 0e                	jmp    0x43a99c
43a98e:	81 c9 00 00 00 03    	or     $0x3000000,%ecx
43a994:	eb 06                	jmp    0x43a99c
43a996:	81 c9 00 00 00 02    	or     $0x2000000,%ecx
43a99c:	8b c7                	mov    %edi,%eax
43a99e:	23 7d 08             	and    0x8(%ebp),%edi
43a9a1:	f7 d0                	not    %eax
43a9a3:	23 c1                	and    %ecx,%eax
43a9a5:	0b c7                	or     %edi,%eax
43a9a7:	3b c1                	cmp    %ecx,%eax
43a9a9:	0f 84 b5 00 00 00    	je     0x43aa64
43a9af:	50                   	push   %eax
43a9b0:	e8 24 fd ff ff       	call   0x43a6d9
43a9b5:	50                   	push   %eax
43a9b6:	89 45 0c             	mov    %eax,0xc(%ebp)
43a9b9:	e8 55 27 ff ff       	call   0x42d113
43a9be:	59                   	pop    %ecx
43a9bf:	59                   	pop    %ecx
43a9c0:	0f ae 5d 0c          	stmxcsr 0xc(%ebp)
43a9c4:	8b 45 0c             	mov    0xc(%ebp),%eax
43a9c7:	33 c9                	xor    %ecx,%ecx
43a9c9:	84 c0                	test   %al,%al
43a9cb:	79 03                	jns    0x43a9d0
43a9cd:	6a 10                	push   $0x10
43a9cf:	59                   	pop    %ecx
43a9d0:	a9 00 02 00 00       	test   $0x200,%eax
43a9d5:	74 03                	je     0x43a9da
43a9d7:	83 c9 08             	or     $0x8,%ecx
43a9da:	a9 00 04 00 00       	test   $0x400,%eax
43a9df:	74 03                	je     0x43a9e4
43a9e1:	83 c9 04             	or     $0x4,%ecx
43a9e4:	a9 00 08 00 00       	test   $0x800,%eax
43a9e9:	74 03                	je     0x43a9ee
43a9eb:	83 c9 02             	or     $0x2,%ecx
43a9ee:	a9 00 10 00 00       	test   $0x1000,%eax
43a9f3:	74 03                	je     0x43a9f8
43a9f5:	83 c9 01             	or     $0x1,%ecx
43a9f8:	a9 00 01 00 00       	test   $0x100,%eax
43a9fd:	74 06                	je     0x43aa05
43a9ff:	81 c9 00 00 08 00    	or     $0x80000,%ecx
43aa05:	8b d0                	mov    %eax,%edx
43aa07:	bf 00 60 00 00       	mov    $0x6000,%edi
43aa0c:	23 d7                	and    %edi,%edx
43aa0e:	74 2a                	je     0x43aa3a
43aa10:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
43aa16:	74 1c                	je     0x43aa34
43aa18:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
43aa1e:	74 0c                	je     0x43aa2c
43aa20:	3b d7                	cmp    %edi,%edx
43aa22:	75 16                	jne    0x43aa3a
43aa24:	81 c9 00 03 00 00    	or     $0x300,%ecx
43aa2a:	eb 0e                	jmp    0x43aa3a
43aa2c:	81 c9 00 02 00 00    	or     $0x200,%ecx
43aa32:	eb 06                	jmp    0x43aa3a
43aa34:	81 c9 00 01 00 00    	or     $0x100,%ecx
43aa3a:	25 40 80 00 00       	and    $0x8040,%eax
43aa3f:	2b c3                	sub    %ebx,%eax
43aa41:	74 1b                	je     0x43aa5e
43aa43:	2d c0 7f 00 00       	sub    $0x7fc0,%eax
43aa48:	74 0c                	je     0x43aa56
43aa4a:	2b c3                	sub    %ebx,%eax
43aa4c:	75 16                	jne    0x43aa64
43aa4e:	81 c9 00 00 00 01    	or     $0x1000000,%ecx
43aa54:	eb 0e                	jmp    0x43aa64
43aa56:	81 c9 00 00 00 03    	or     $0x3000000,%ecx
43aa5c:	eb 06                	jmp    0x43aa64
43aa5e:	81 c9 00 00 00 02    	or     $0x2000000,%ecx
43aa64:	8b c1                	mov    %ecx,%eax
43aa66:	0b ce                	or     %esi,%ecx
43aa68:	33 c6                	xor    %esi,%eax
43aa6a:	a9 1f 03 08 00       	test   $0x8031f,%eax
43aa6f:	74 06                	je     0x43aa77
43aa71:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
43aa77:	8b c1                	mov    %ecx,%eax
43aa79:	eb 02                	jmp    0x43aa7d
43aa7b:	8b c6                	mov    %esi,%eax
43aa7d:	5f                   	pop    %edi
43aa7e:	5e                   	pop    %esi
43aa7f:	5b                   	pop    %ebx
43aa80:	8b e5                	mov    %ebp,%esp
43aa82:	5d                   	pop    %ebp
43aa83:	c3                   	ret
43aa84:	55                   	push   %ebp
43aa85:	8b ec                	mov    %esp,%ebp
43aa87:	8b 4d 08             	mov    0x8(%ebp),%ecx
43aa8a:	33 c0                	xor    %eax,%eax
43aa8c:	f6 c1 10             	test   $0x10,%cl
43aa8f:	74 01                	je     0x43aa92
43aa91:	40                   	inc    %eax
43aa92:	f6 c1 08             	test   $0x8,%cl
43aa95:	74 03                	je     0x43aa9a
43aa97:	83 c8 04             	or     $0x4,%eax
43aa9a:	f6 c1 04             	test   $0x4,%cl
43aa9d:	74 03                	je     0x43aaa2
43aa9f:	83 c8 08             	or     $0x8,%eax
43aaa2:	f6 c1 02             	test   $0x2,%cl
43aaa5:	74 03                	je     0x43aaaa
43aaa7:	83 c8 10             	or     $0x10,%eax
43aaaa:	f6 c1 01             	test   $0x1,%cl
43aaad:	74 03                	je     0x43aab2
43aaaf:	83 c8 20             	or     $0x20,%eax
43aab2:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
43aab8:	74 03                	je     0x43aabd
43aaba:	83 c8 02             	or     $0x2,%eax
43aabd:	56                   	push   %esi
43aabe:	8b d1                	mov    %ecx,%edx
43aac0:	be 00 03 00 00       	mov    $0x300,%esi
43aac5:	57                   	push   %edi
43aac6:	bf 00 02 00 00       	mov    $0x200,%edi
43aacb:	23 d6                	and    %esi,%edx
43aacd:	74 23                	je     0x43aaf2
43aacf:	81 fa 00 01 00 00    	cmp    $0x100,%edx
43aad5:	74 16                	je     0x43aaed
43aad7:	3b d7                	cmp    %edi,%edx
43aad9:	74 0b                	je     0x43aae6
43aadb:	3b d6                	cmp    %esi,%edx
43aadd:	75 13                	jne    0x43aaf2
43aadf:	0d 00 0c 00 00       	or     $0xc00,%eax
43aae4:	eb 0c                	jmp    0x43aaf2
43aae6:	0d 00 08 00 00       	or     $0x800,%eax
43aaeb:	eb 05                	jmp    0x43aaf2
43aaed:	0d 00 04 00 00       	or     $0x400,%eax
43aaf2:	8b d1                	mov    %ecx,%edx
43aaf4:	81 e2 00 00 03 00    	and    $0x30000,%edx
43aafa:	74 0c                	je     0x43ab08
43aafc:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
43ab02:	75 06                	jne    0x43ab0a
43ab04:	0b c7                	or     %edi,%eax