41057f:	be 00 01 00 00       	mov    $0x100,%esi
410584:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
41058a:	74 02                	je     0x41058e
41058c:	0b c6                	or     %esi,%eax
41058e:	8b d1                	mov    %ecx,%edx
410590:	bf 00 03 00 00       	mov    $0x300,%edi
410595:	23 d7                	and    %edi,%edx
410597:	74 1f                	je     0x4105b8
410599:	3b d6                	cmp    %esi,%edx
41059b:	74 16                	je     0x4105b3
41059d:	3b d3                	cmp    %ebx,%edx
41059f:	74 0b                	je     0x4105ac
4105a1:	3b d7                	cmp    %edi,%edx
4105a3:	75 13                	jne    0x4105b8
4105a5:	0d 00 60 00 00       	or     $0x6000,%eax
4105aa:	eb 0c                	jmp    0x4105b8
4105ac:	0d 00 40 00 00       	or     $0x4000,%eax
4105b1:	eb 05                	jmp    0x4105b8
4105b3:	0d 00 20 00 00       	or     $0x2000,%eax
4105b8:	ba 00 00 00 03       	mov    $0x3000000,%edx
4105bd:	5f                   	pop    %edi
4105be:	23 ca                	and    %edx,%ecx
4105c0:	5e                   	pop    %esi
4105c1:	5b                   	pop    %ebx
4105c2:	81 f9 00 00 00 01    	cmp    $0x1000000,%ecx
4105c8:	74 18                	je     0x4105e2
4105ca:	81 f9 00 00 00 02    	cmp    $0x2000000,%ecx
4105d0:	74 0b                	je     0x4105dd
4105d2:	3b ca                	cmp    %edx,%ecx
4105d4:	75 11                	jne    0x4105e7
4105d6:	0d 00 80 00 00       	or     $0x8000,%eax
4105db:	5d                   	pop    %ebp
4105dc:	c3                   	ret
4105dd:	83 c8 40             	or     $0x40,%eax
4105e0:	5d                   	pop    %ebp
4105e1:	c3                   	ret
4105e2:	0d 40 80 00 00       	or     $0x8040,%eax
4105e7:	5d                   	pop    %ebp
4105e8:	c3                   	ret
4105e9:	8b ff                	mov    %edi,%edi
4105eb:	55                   	push   %ebp
4105ec:	8b ec                	mov    %esp,%ebp
4105ee:	83 ec 0c             	sub    $0xc,%esp
4105f1:	56                   	push   %esi
4105f2:	dd 7d fc             	fnstsw -0x4(%ebp)
4105f5:	db e2                	fnclex
4105f7:	33 f6                	xor    %esi,%esi
4105f9:	46                   	inc    %esi
4105fa:	39 35 6c 1a 42 00    	cmp    %esi,0x421a6c
410600:	0f 8c 82 00 00 00    	jl     0x410688
410606:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
41060a:	33 c9                	xor    %ecx,%ecx
41060c:	8b d1                	mov    %ecx,%edx
41060e:	57                   	push   %edi
41060f:	bf 00 00 08 00       	mov    $0x80000,%edi
410614:	a8 3f                	test   $0x3f,%al
410616:	74 29                	je     0x410641
410618:	0f b7 d0             	movzwl %ax,%edx
41061b:	23 d6                	and    %esi,%edx
41061d:	c1 e2 04             	shl    $0x4,%edx
410620:	a8 04                	test   $0x4,%al
410622:	74 03                	je     0x410627
410624:	83 ca 08             	or     $0x8,%edx
410627:	a8 08                	test   $0x8,%al
410629:	74 03                	je     0x41062e
41062b:	83 ca 04             	or     $0x4,%edx
41062e:	a8 10                	test   $0x10,%al
410630:	74 03                	je     0x410635
410632:	83 ca 02             	or     $0x2,%edx
410635:	a8 20                	test   $0x20,%al
410637:	74 02                	je     0x41063b
410639:	0b d6                	or     %esi,%edx
41063b:	a8 02                	test   $0x2,%al
41063d:	74 02                	je     0x410641
41063f:	0b d7                	or     %edi,%edx
410641:	0f ae 5d f8          	stmxcsr -0x8(%ebp)
410645:	8b 45 f8             	mov    -0x8(%ebp),%eax
410648:	83 e0 c0             	and    $0xffffffc0,%eax
41064b:	89 45 f4             	mov    %eax,-0xc(%ebp)
41064e:	0f ae 55 f4          	ldmxcsr -0xc(%ebp)
410652:	8b 45 f8             	mov    -0x8(%ebp),%eax
410655:	a8 3f                	test   $0x3f,%al
410657:	74 28                	je     0x410681
410659:	8b c8                	mov    %eax,%ecx
41065b:	23 ce                	and    %esi,%ecx
41065d:	c1 e1 04             	shl    $0x4,%ecx
410660:	a8 04                	test   $0x4,%al
410662:	74 03                	je     0x410667
410664:	83 c9 08             	or     $0x8,%ecx
410667:	a8 08                	test   $0x8,%al
410669:	74 03                	je     0x41066e
41066b:	83 c9 04             	or     $0x4,%ecx
41066e:	a8 10                	test   $0x10,%al
410670:	74 03                	je     0x410675
410672:	83 c9 02             	or     $0x2,%ecx
410675:	a8 20                	test   $0x20,%al
410677:	74 02                	je     0x41067b
410679:	0b ce                	or     %esi,%ecx
41067b:	a8 02                	test   $0x2,%al
41067d:	74 02                	je     0x410681
41067f:	0b cf                	or     %edi,%ecx
410681:	0b ca                	or     %edx,%ecx
410683:	8b c1                	mov    %ecx,%eax
410685:	5f                   	pop    %edi
410686:	eb 3c                	jmp    0x4106c4
410688:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
41068c:	33 c0                	xor    %eax,%eax
41068e:	f6 c1 3f             	test   $0x3f,%cl
410691:	74 31                	je     0x4106c4
410693:	0f b7 c1             	movzwl %cx,%eax
410696:	23 c6                	and    %esi,%eax
410698:	c1 e0 04             	shl    $0x4,%eax
41069b:	f6 c1 04             	test   $0x4,%cl
41069e:	74 03                	je     0x4106a3
4106a0:	83 c8 08             	or     $0x8,%eax
4106a3:	f6 c1 08             	test   $0x8,%cl
4106a6:	74 03                	je     0x4106ab
4106a8:	83 c8 04             	or     $0x4,%eax
4106ab:	f6 c1 10             	test   $0x10,%cl
4106ae:	74 03                	je     0x4106b3
4106b0:	83 c8 02             	or     $0x2,%eax
4106b3:	f6 c1 20             	test   $0x20,%cl
4106b6:	74 02                	je     0x4106ba
4106b8:	0b c6                	or     %esi,%eax
4106ba:	f6 c1 02             	test   $0x2,%cl
4106bd:	74 05                	je     0x4106c4
4106bf:	0d 00 00 08 00       	or     $0x80000,%eax
4106c4:	5e                   	pop    %esi
4106c5:	c9                   	leave
4106c6:	c3                   	ret
4106c7:	8b ff                	mov    %edi,%edi
4106c9:	55                   	push   %ebp
4106ca:	8b ec                	mov    %esp,%ebp
4106cc:	83 ec 10             	sub    $0x10,%esp
4106cf:	9b d9 7d f8          	fstcw  -0x8(%ebp)
4106d3:	66 8b 45 f8          	mov    -0x8(%ebp),%ax
4106d7:	0f b7 c8             	movzwl %ax,%ecx
4106da:	83 e1 01             	and    $0x1,%ecx
4106dd:	c1 e1 04             	shl    $0x4,%ecx
4106e0:	a8 04                	test   $0x4,%al
4106e2:	74 03                	je     0x4106e7
4106e4:	83 c9 08             	or     $0x8,%ecx
4106e7:	a8 08                	test   $0x8,%al
4106e9:	74 03                	je     0x4106ee
4106eb:	83 c9 04             	or     $0x4,%ecx
4106ee:	a8 10                	test   $0x10,%al
4106f0:	74 03                	je     0x4106f5
4106f2:	83 c9 02             	or     $0x2,%ecx
4106f5:	a8 20                	test   $0x20,%al
4106f7:	74 03                	je     0x4106fc
4106f9:	83 c9 01             	or     $0x1,%ecx
4106fc:	a8 02                	test   $0x2,%al
4106fe:	74 06                	je     0x410706
410700:	81 c9 00 00 08 00    	or     $0x80000,%ecx
410706:	53                   	push   %ebx
410707:	56                   	push   %esi
410708:	0f b7 f0             	movzwl %ax,%esi
41070b:	bb 00 0c 00 00       	mov    $0xc00,%ebx
410710:	8b d6                	mov    %esi,%edx
410712:	57                   	push   %edi
410713:	bf 00 02 00 00       	mov    $0x200,%edi
410718:	23 d3                	and    %ebx,%edx
41071a:	74 26                	je     0x410742
41071c:	81 fa 00 04 00 00    	cmp    $0x400,%edx
410722:	74 18                	je     0x41073c
410724:	81 fa 00 08 00 00    	cmp    $0x800,%edx
41072a:	74 0c                	je     0x410738
41072c:	3b d3                	cmp    %ebx,%edx
41072e:	75 12                	jne    0x410742
410730:	81 c9 00 03 00 00    	or     $0x300,%ecx
410736:	eb 0a                	jmp    0x410742
410738:	0b cf                	or     %edi,%ecx
41073a:	eb 06                	jmp    0x410742
41073c:	81 c9 00 01 00 00    	or     $0x100,%ecx
410742:	81 e6 00 03 00 00    	and    $0x300,%esi
410748:	74 0c                	je     0x410756
41074a:	3b f7                	cmp    %edi,%esi
41074c:	75 0e                	jne    0x41075c
41074e:	81 c9 00 00 01 00    	or     $0x10000,%ecx
410754:	eb 06                	jmp    0x41075c
410756:	81 c9 00 00 02 00    	or     $0x20000,%ecx
41075c:	0f b7 c0             	movzwl %ax,%eax
41075f:	ba 00 10 00 00       	mov    $0x1000,%edx
410764:	85 c2                	test   %eax,%edx
410766:	74 06                	je     0x41076e
410768:	81 c9 00 00 04 00    	or     $0x40000,%ecx
41076e:	8b 7d 0c             	mov    0xc(%ebp),%edi
410771:	8b f7                	mov    %edi,%esi
410773:	8b 45 08             	mov    0x8(%ebp),%eax
410776:	f7 d6                	not    %esi
410778:	23 f1                	and    %ecx,%esi
41077a:	23 c7                	and    %edi,%eax
41077c:	0b f0                	or     %eax,%esi
41077e:	3b f1                	cmp    %ecx,%esi
410780:	0f 84 a8 00 00 00    	je     0x41082e
410786:	56                   	push   %esi
410787:	e8 3c 02 00 00       	call   0x4109c8
41078c:	59                   	pop    %ecx
41078d:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
410791:	d9 6d fc             	fldcw  -0x4(%ebp)
410794:	9b d9 7d fc          	fstcw  -0x4(%ebp)
410798:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
41079c:	0f b7 f0             	movzwl %ax,%esi
41079f:	83 e6 01             	and    $0x1,%esi
4107a2:	c1 e6 04             	shl    $0x4,%esi
4107a5:	a8 04                	test   $0x4,%al
4107a7:	74 03                	je     0x4107ac
4107a9:	83 ce 08             	or     $0x8,%esi
4107ac:	a8 08                	test   $0x8,%al
4107ae:	74 03                	je     0x4107b3
4107b0:	83 ce 04             	or     $0x4,%esi
4107b3:	a8 10                	test   $0x10,%al
4107b5:	74 03                	je     0x4107ba
4107b7:	83 ce 02             	or     $0x2,%esi
4107ba:	a8 20                	test   $0x20,%al
4107bc:	74 03                	je     0x4107c1
4107be:	83 ce 01             	or     $0x1,%esi
4107c1:	a8 02                	test   $0x2,%al
4107c3:	74 06                	je     0x4107cb
4107c5:	81 ce 00 00 08 00    	or     $0x80000,%esi
4107cb:	0f b7 d0             	movzwl %ax,%edx
4107ce:	8b ca                	mov    %edx,%ecx
4107d0:	23 cb                	and    %ebx,%ecx
4107d2:	74 2a                	je     0x4107fe
4107d4:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
4107da:	74 1c                	je     0x4107f8
4107dc:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
4107e2:	74 0c                	je     0x4107f0
4107e4:	3b cb                	cmp    %ebx,%ecx
4107e6:	75 16                	jne    0x4107fe
4107e8:	81 ce 00 03 00 00    	or     $0x300,%esi
4107ee:	eb 0e                	jmp    0x4107fe
4107f0:	81 ce 00 02 00 00    	or     $0x200,%esi
4107f6:	eb 06                	jmp    0x4107fe
4107f8:	81 ce 00 01 00 00    	or     $0x100,%esi
4107fe:	81 e2 00 03 00 00    	and    $0x300,%edx
410804:	74 10                	je     0x410816
410806:	81 fa 00 02 00 00    	cmp    $0x200,%edx
41080c:	75 0e                	jne    0x41081c
41080e:	81 ce 00 00 01 00    	or     $0x10000,%esi
410814:	eb 06                	jmp    0x41081c
410816:	81 ce 00 00 02 00    	or     $0x20000,%esi
41081c:	0f b7 c0             	movzwl %ax,%eax
41081f:	ba 00 10 00 00       	mov    $0x1000,%edx
410824:	85 c2                	test   %eax,%edx
410826:	74 06                	je     0x41082e
410828:	81 ce 00 00 04 00    	or     $0x40000,%esi
41082e:	83 3d 6c 1a 42 00 01 	cmpl   $0x1,0x421a6c
410835:	0f 8c 86 01 00 00    	jl     0x4109c1
41083b:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
410841:	0f ae 5d f0          	stmxcsr -0x10(%ebp)
410845:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410848:	8b c1                	mov    %ecx,%eax
41084a:	c1 e8 03             	shr    $0x3,%eax
41084d:	83 e0 10             	and    $0x10,%eax
410850:	f7 c1 00 02 00 00    	test   $0x200,%ecx
410856:	74 03                	je     0x41085b
410858:	83 c8 08             	or     $0x8,%eax
41085b:	f7 c1 00 04 00 00    	test   $0x400,%ecx
410861:	74 03                	je     0x410866
410863:	83 c8 04             	or     $0x4,%eax
410866:	f7 c1 00 08 00 00    	test   $0x800,%ecx
41086c:	74 03                	je     0x410871
41086e:	83 c8 02             	or     $0x2,%eax
410871:	85 ca                	test   %ecx,%edx
410873:	74 03                	je     0x410878
410875:	83 c8 01             	or     $0x1,%eax
410878:	f7 c1 00 01 00 00    	test   $0x100,%ecx
41087e:	74 05                	je     0x410885
410880:	0d 00 00 08 00       	or     $0x80000,%eax
410885:	8b d1                	mov    %ecx,%edx
410887:	bb 00 60 00 00       	mov    $0x6000,%ebx
41088c:	23 d3                	and    %ebx,%edx
41088e:	74 27                	je     0x4108b7
410890:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
410896:	74 1a                	je     0x4108b2
410898:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
41089e:	74 0b                	je     0x4108ab
4108a0:	3b d3                	cmp    %ebx,%edx
4108a2:	75 13                	jne    0x4108b7
4108a4:	0d 00 03 00 00       	or     $0x300,%eax
4108a9:	eb 0c                	jmp    0x4108b7
4108ab:	0d 00 02 00 00       	or     $0x200,%eax
4108b0:	eb 05                	jmp    0x4108b7
4108b2:	0d 00 01 00 00       	or     $0x100,%eax
4108b7:	6a 40                	push   $0x40
4108b9:	81 e1 40 80 00 00    	and    $0x8040,%ecx
4108bf:	5b                   	pop    %ebx
4108c0:	2b cb                	sub    %ebx,%ecx
4108c2:	74 1a                	je     0x4108de
4108c4:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
4108ca:	74 0b                	je     0x4108d7
4108cc:	2b cb                	sub    %ebx,%ecx
4108ce:	75 13                	jne    0x4108e3
4108d0:	0d 00 00 00 01       	or     $0x1000000,%eax
4108d5:	eb 0c                	jmp    0x4108e3
4108d7:	0d 00 00 00 03       	or     $0x3000000,%eax
4108dc:	eb 05                	jmp    0x4108e3
4108de:	0d 00 00 00 02       	or     $0x2000000,%eax
4108e3:	8b cf                	mov    %edi,%ecx
4108e5:	23 7d 08             	and    0x8(%ebp),%edi
4108e8:	f7 d1                	not    %ecx
4108ea:	23 c8                	and    %eax,%ecx
4108ec:	0b cf                	or     %edi,%ecx
4108ee:	3b c8                	cmp    %eax,%ecx
4108f0:	0f 84 b4 00 00 00    	je     0x4109aa
4108f6:	51                   	push   %ecx
4108f7:	e8 46 fc ff ff       	call   0x410542
4108fc:	50                   	push   %eax
4108fd:	89 45 f4             	mov    %eax,-0xc(%ebp)
410900:	e8 1b 47 00 00       	call   0x415020
410905:	59                   	pop    %ecx
410906:	59                   	pop    %ecx
410907:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
41090b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41090e:	8b c1                	mov    %ecx,%eax
410910:	c1 e8 03             	shr    $0x3,%eax
410913:	83 e0 10             	and    $0x10,%eax
410916:	f7 c1 00 02 00 00    	test   $0x200,%ecx
41091c:	74 03                	je     0x410921
41091e:	83 c8 08             	or     $0x8,%eax
410921:	f7 c1 00 04 00 00    	test   $0x400,%ecx
410927:	74 03                	je     0x41092c
410929:	83 c8 04             	or     $0x4,%eax
41092c:	f7 c1 00 08 00 00    	test   $0x800,%ecx
410932:	74 03                	je     0x410937
410934:	83 c8 02             	or     $0x2,%eax
410937:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
41093d:	74 03                	je     0x410942
41093f:	83 c8 01             	or     $0x1,%eax
410942:	f7 c1 00 01 00 00    	test   $0x100,%ecx
410948:	74 05                	je     0x41094f
41094a:	0d 00 00 08 00       	or     $0x80000,%eax
41094f:	8b d1                	mov    %ecx,%edx
410951:	bf 00 60 00 00       	mov    $0x6000,%edi
410956:	23 d7                	and    %edi,%edx
410958:	74 27                	je     0x410981
41095a:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
410960:	74 1a                	je     0x41097c
410962:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
410968:	74 0b                	je     0x410975
41096a:	3b d7                	cmp    %edi,%edx
41096c:	75 13                	jne    0x410981
41096e:	0d 00 03 00 00       	or     $0x300,%eax
410973:	eb 0c                	jmp    0x410981
410975:	0d 00 02 00 00       	or     $0x200,%eax
41097a:	eb 05                	jmp    0x410981
41097c:	0d 00 01 00 00       	or     $0x100,%eax
410981:	81 e1 40 80 00 00    	and    $0x8040,%ecx
410987:	2b cb                	sub    %ebx,%ecx