439867:	83 fe 14             	cmp    $0x14,%esi
43986a:	7e 3b                	jle    0x4398a7
43986c:	83 fe 16             	cmp    $0x16,%esi
43986f:	7f 36                	jg     0x4398a7
439871:	56                   	push   %esi
439872:	e8 e6 fe ff ff       	call   0x43975d
439877:	83 c4 04             	add    $0x4,%esp
43987a:	eb 45                	jmp    0x4398c1
43987c:	e8 61 c8 ff ff       	call   0x4360e2
439881:	8b d8                	mov    %eax,%ebx
439883:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
439886:	85 db                	test   %ebx,%ebx
439888:	75 08                	jne    0x439892
43988a:	83 c8 ff             	or     $0xffffffff,%eax
43988d:	e9 92 01 00 00       	jmp    0x439a24
439892:	ff 33                	push   (%ebx)
439894:	56                   	push   %esi
439895:	e8 05 ff ff ff       	call   0x43979f
43989a:	59                   	pop    %ecx
43989b:	59                   	pop    %ecx
43989c:	33 c9                	xor    %ecx,%ecx
43989e:	85 c0                	test   %eax,%eax
4398a0:	0f 95 c1             	setne  %cl
4398a3:	85 c9                	test   %ecx,%ecx
4398a5:	75 12                	jne    0x4398b9
4398a7:	e8 8a a5 ff ff       	call   0x433e36
4398ac:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4398b2:	e8 c3 a4 ff ff       	call   0x433d7a
4398b7:	eb d1                	jmp    0x43988a
4398b9:	83 c0 08             	add    $0x8,%eax
4398bc:	32 c9                	xor    %cl,%cl
4398be:	88 4d e3             	mov    %cl,-0x1d(%ebp)
4398c1:	89 45 d8             	mov    %eax,-0x28(%ebp)
4398c4:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
4398c8:	84 c9                	test   %cl,%cl
4398ca:	74 0b                	je     0x4398d7
4398cc:	6a 03                	push   $0x3
4398ce:	e8 63 ed ff ff       	call   0x438636
4398d3:	59                   	pop    %ecx
4398d4:	8a 4d e3             	mov    -0x1d(%ebp),%cl
4398d7:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
4398db:	c6 45 e2 00          	movb   $0x0,-0x1e(%ebp)
4398df:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4398e3:	8b 45 d8             	mov    -0x28(%ebp),%eax
4398e6:	84 c9                	test   %cl,%cl
4398e8:	74 14                	je     0x4398fe
4398ea:	8b 15 08 a0 46 00    	mov    0x46a008,%edx
4398f0:	8b ca                	mov    %edx,%ecx
4398f2:	83 e1 1f             	and    $0x1f,%ecx
4398f5:	33 10                	xor    (%eax),%edx
4398f7:	d3 ca                	ror    %cl,%edx
4398f9:	8a 4d e3             	mov    -0x1d(%ebp),%cl
4398fc:	eb 02                	jmp    0x439900
4398fe:	8b 10                	mov    (%eax),%edx
439900:	8b c2                	mov    %edx,%eax
439902:	89 45 dc             	mov    %eax,-0x24(%ebp)
439905:	33 d2                	xor    %edx,%edx
439907:	83 f8 01             	cmp    $0x1,%eax
43990a:	0f 94 c2             	sete   %dl
43990d:	89 55 c8             	mov    %edx,-0x38(%ebp)
439910:	88 55 e2             	mov    %dl,-0x1e(%ebp)
439913:	84 d2                	test   %dl,%dl
439915:	0f 85 8a 00 00 00    	jne    0x4399a5
43991b:	85 c0                	test   %eax,%eax
43991d:	75 13                	jne    0x439932
43991f:	84 c9                	test   %cl,%cl
439921:	74 08                	je     0x43992b
439923:	6a 03                	push   $0x3
439925:	e8 54 ed ff ff       	call   0x43867e
43992a:	59                   	pop    %ecx
43992b:	6a 03                	push   $0x3
43992d:	e8 fc af ff ff       	call   0x43492e
439932:	3b f7                	cmp    %edi,%esi
439934:	74 0a                	je     0x439940
439936:	83 fe 0b             	cmp    $0xb,%esi
439939:	74 05                	je     0x439940
43993b:	83 fe 04             	cmp    $0x4,%esi
43993e:	75 23                	jne    0x439963
439940:	8b 43 04             	mov    0x4(%ebx),%eax
439943:	89 45 d0             	mov    %eax,-0x30(%ebp)
439946:	83 63 04 00          	andl   $0x0,0x4(%ebx)
43994a:	3b f7                	cmp    %edi,%esi
43994c:	75 3b                	jne    0x439989
43994e:	e8 c6 fe ff ff       	call   0x439819
439953:	8b 00                	mov    (%eax),%eax
439955:	89 45 cc             	mov    %eax,-0x34(%ebp)
439958:	e8 bc fe ff ff       	call   0x439819
43995d:	c7 00 8c 00 00 00    	movl   $0x8c,(%eax)
439963:	3b f7                	cmp    %edi,%esi
439965:	75 22                	jne    0x439989
439967:	6b 05 54 17 46 00 0c 	imul   $0xc,0x461754,%eax
43996e:	03 03                	add    (%ebx),%eax
439970:	6b 0d 58 17 46 00 0c 	imul   $0xc,0x461758,%ecx
439977:	03 c8                	add    %eax,%ecx
439979:	89 45 c4             	mov    %eax,-0x3c(%ebp)
43997c:	3b c1                	cmp    %ecx,%eax
43997e:	74 25                	je     0x4399a5
439980:	83 60 08 00          	andl   $0x0,0x8(%eax)
439984:	83 c0 0c             	add    $0xc,%eax
439987:	eb f0                	jmp    0x439979
439989:	a1 08 a0 46 00       	mov    0x46a008,%eax
43998e:	83 e0 1f             	and    $0x1f,%eax
439991:	6a 20                	push   $0x20
439993:	59                   	pop    %ecx
439994:	2b c8                	sub    %eax,%ecx
439996:	33 c0                	xor    %eax,%eax
439998:	d3 c8                	ror    %cl,%eax
43999a:	33 05 08 a0 46 00    	xor    0x46a008,%eax
4399a0:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4399a3:	89 01                	mov    %eax,(%ecx)
4399a5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4399ac:	e8 31 00 00 00       	call   0x4399e2
4399b1:	80 7d c8 00          	cmpb   $0x0,-0x38(%ebp)
4399b5:	75 6b                	jne    0x439a22
4399b7:	3b f7                	cmp    %edi,%esi
4399b9:	75 36                	jne    0x4399f1
4399bb:	e8 9e c6 ff ff       	call   0x43605e
4399c0:	ff 70 08             	push   0x8(%eax)
4399c3:	57                   	push   %edi
4399c4:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4399c7:	ff 15 d0 b3 44 00    	call   *0x44b3d0
4399cd:	ff 55 dc             	call   *-0x24(%ebp)
4399d0:	59                   	pop    %ecx
4399d1:	eb 2b                	jmp    0x4399fe
4399d3:	6a 08                	push   $0x8
4399d5:	5f                   	pop    %edi
4399d6:	8b 75 08             	mov    0x8(%ebp),%esi
4399d9:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
4399dc:	8a 45 e2             	mov    -0x1e(%ebp),%al
4399df:	89 45 c8             	mov    %eax,-0x38(%ebp)
4399e2:	80 7d e3 00          	cmpb   $0x0,-0x1d(%ebp)
4399e6:	74 08                	je     0x4399f0
4399e8:	6a 03                	push   $0x3
4399ea:	e8 8f ec ff ff       	call   0x43867e
4399ef:	59                   	pop    %ecx
4399f0:	c3                   	ret
4399f1:	56                   	push   %esi
4399f2:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4399f5:	ff 15 d0 b3 44 00    	call   *0x44b3d0
4399fb:	ff 55 dc             	call   *-0x24(%ebp)
4399fe:	59                   	pop    %ecx
4399ff:	3b f7                	cmp    %edi,%esi
439a01:	74 0a                	je     0x439a0d
439a03:	83 fe 0b             	cmp    $0xb,%esi
439a06:	74 05                	je     0x439a0d
439a08:	83 fe 04             	cmp    $0x4,%esi
439a0b:	75 15                	jne    0x439a22
439a0d:	8b 45 d0             	mov    -0x30(%ebp),%eax
439a10:	89 43 04             	mov    %eax,0x4(%ebx)
439a13:	3b f7                	cmp    %edi,%esi
439a15:	75 0b                	jne    0x439a22
439a17:	e8 42 c6 ff ff       	call   0x43605e
439a1c:	8b 4d cc             	mov    -0x34(%ebp),%ecx
439a1f:	89 48 08             	mov    %ecx,0x8(%eax)
439a22:	33 c0                	xor    %eax,%eax
439a24:	e8 b0 02 01 00       	call   0x449cd9
439a29:	c3                   	ret
439a2a:	8b ff                	mov    %edi,%edi
439a2c:	55                   	push   %ebp
439a2d:	8b ec                	mov    %esp,%ebp
439a2f:	8b 4d 08             	mov    0x8(%ebp),%ecx
439a32:	33 c0                	xor    %eax,%eax
439a34:	f6 c1 10             	test   $0x10,%cl
439a37:	74 05                	je     0x439a3e
439a39:	b8 80 00 00 00       	mov    $0x80,%eax
439a3e:	53                   	push   %ebx
439a3f:	56                   	push   %esi
439a40:	57                   	push   %edi
439a41:	bf 00 02 00 00       	mov    $0x200,%edi
439a46:	f6 c1 08             	test   $0x8,%cl
439a49:	74 02                	je     0x439a4d
439a4b:	0b c7                	or     %edi,%eax
439a4d:	f6 c1 04             	test   $0x4,%cl
439a50:	74 05                	je     0x439a57
439a52:	0d 00 04 00 00       	or     $0x400,%eax
439a57:	f6 c1 02             	test   $0x2,%cl
439a5a:	74 05                	je     0x439a61
439a5c:	0d 00 08 00 00       	or     $0x800,%eax
439a61:	f6 c1 01             	test   $0x1,%cl
439a64:	74 05                	je     0x439a6b
439a66:	0d 00 10 00 00       	or     $0x1000,%eax
439a6b:	be 00 01 00 00       	mov    $0x100,%esi
439a70:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
439a76:	74 02                	je     0x439a7a
439a78:	0b c6                	or     %esi,%eax
439a7a:	8b d1                	mov    %ecx,%edx
439a7c:	bb 00 03 00 00       	mov    $0x300,%ebx
439a81:	23 d3                	and    %ebx,%edx
439a83:	74 1f                	je     0x439aa4
439a85:	3b d6                	cmp    %esi,%edx
439a87:	74 16                	je     0x439a9f
439a89:	3b d7                	cmp    %edi,%edx
439a8b:	74 0b                	je     0x439a98
439a8d:	3b d3                	cmp    %ebx,%edx
439a8f:	75 13                	jne    0x439aa4
439a91:	0d 00 60 00 00       	or     $0x6000,%eax
439a96:	eb 0c                	jmp    0x439aa4
439a98:	0d 00 40 00 00       	or     $0x4000,%eax
439a9d:	eb 05                	jmp    0x439aa4
439a9f:	0d 00 20 00 00       	or     $0x2000,%eax
439aa4:	ba 00 00 00 03       	mov    $0x3000000,%edx
439aa9:	5f                   	pop    %edi
439aaa:	23 ca                	and    %edx,%ecx
439aac:	5e                   	pop    %esi
439aad:	5b                   	pop    %ebx
439aae:	81 f9 00 00 00 01    	cmp    $0x1000000,%ecx
439ab4:	74 18                	je     0x439ace
439ab6:	81 f9 00 00 00 02    	cmp    $0x2000000,%ecx
439abc:	74 0b                	je     0x439ac9
439abe:	3b ca                	cmp    %edx,%ecx
439ac0:	75 11                	jne    0x439ad3
439ac2:	0d 00 80 00 00       	or     $0x8000,%eax
439ac7:	5d                   	pop    %ebp
439ac8:	c3                   	ret
439ac9:	83 c8 40             	or     $0x40,%eax
439acc:	5d                   	pop    %ebp
439acd:	c3                   	ret
439ace:	0d 40 80 00 00       	or     $0x8040,%eax
439ad3:	5d                   	pop    %ebp
439ad4:	c3                   	ret
439ad5:	8b ff                	mov    %edi,%edi
439ad7:	55                   	push   %ebp
439ad8:	8b ec                	mov    %esp,%ebp
439ada:	83 ec 0c             	sub    $0xc,%esp
439add:	dd 7d fc             	fnstsw -0x4(%ebp)
439ae0:	db e2                	fnclex
439ae2:	83 3d 1c ae 46 00 01 	cmpl   $0x1,0x46ae1c
439ae9:	0f 8c 83 00 00 00    	jl     0x439b72
439aef:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
439af3:	33 c9                	xor    %ecx,%ecx
439af5:	8b d1                	mov    %ecx,%edx
439af7:	57                   	push   %edi
439af8:	bf 00 00 08 00       	mov    $0x80000,%edi
439afd:	a8 3f                	test   $0x3f,%al
439aff:	74 29                	je     0x439b2a
439b01:	a8 01                	test   $0x1,%al
439b03:	74 03                	je     0x439b08
439b05:	6a 10                	push   $0x10
439b07:	5a                   	pop    %edx
439b08:	a8 04                	test   $0x4,%al
439b0a:	74 03                	je     0x439b0f
439b0c:	83 ca 08             	or     $0x8,%edx
439b0f:	a8 08                	test   $0x8,%al
439b11:	74 03                	je     0x439b16
439b13:	83 ca 04             	or     $0x4,%edx
439b16:	a8 10                	test   $0x10,%al
439b18:	74 03                	je     0x439b1d
439b1a:	83 ca 02             	or     $0x2,%edx
439b1d:	a8 20                	test   $0x20,%al
439b1f:	74 03                	je     0x439b24
439b21:	83 ca 01             	or     $0x1,%edx
439b24:	a8 02                	test   $0x2,%al
439b26:	74 02                	je     0x439b2a
439b28:	0b d7                	or     %edi,%edx
439b2a:	0f ae 5d f8          	stmxcsr -0x8(%ebp)
439b2e:	8b 45 f8             	mov    -0x8(%ebp),%eax
439b31:	83 e0 c0             	and    $0xffffffc0,%eax
439b34:	89 45 f4             	mov    %eax,-0xc(%ebp)
439b37:	0f ae 55 f4          	ldmxcsr -0xc(%ebp)
439b3b:	8b 45 f8             	mov    -0x8(%ebp),%eax
439b3e:	a8 3f                	test   $0x3f,%al
439b40:	74 29                	je     0x439b6b
439b42:	a8 01                	test   $0x1,%al
439b44:	74 03                	je     0x439b49
439b46:	6a 10                	push   $0x10
439b48:	59                   	pop    %ecx
439b49:	a8 04                	test   $0x4,%al
439b4b:	74 03                	je     0x439b50
439b4d:	83 c9 08             	or     $0x8,%ecx
439b50:	a8 08                	test   $0x8,%al
439b52:	74 03                	je     0x439b57
439b54:	83 c9 04             	or     $0x4,%ecx
439b57:	a8 10                	test   $0x10,%al
439b59:	74 03                	je     0x439b5e
439b5b:	83 c9 02             	or     $0x2,%ecx
439b5e:	a8 20                	test   $0x20,%al
439b60:	74 03                	je     0x439b65
439b62:	83 c9 01             	or     $0x1,%ecx
439b65:	a8 02                	test   $0x2,%al
439b67:	74 02                	je     0x439b6b
439b69:	0b cf                	or     %edi,%ecx
439b6b:	0b ca                	or     %edx,%ecx
439b6d:	8b c1                	mov    %ecx,%eax
439b6f:	5f                   	pop    %edi
439b70:	eb 3d                	jmp    0x439baf
439b72:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
439b76:	33 c0                	xor    %eax,%eax
439b78:	f6 c1 3f             	test   $0x3f,%cl
439b7b:	74 32                	je     0x439baf
439b7d:	f6 c1 01             	test   $0x1,%cl
439b80:	74 03                	je     0x439b85
439b82:	6a 10                	push   $0x10
439b84:	58                   	pop    %eax
439b85:	f6 c1 04             	test   $0x4,%cl
439b88:	74 03                	je     0x439b8d
439b8a:	83 c8 08             	or     $0x8,%eax
439b8d:	f6 c1 08             	test   $0x8,%cl
439b90:	74 03                	je     0x439b95
439b92:	83 c8 04             	or     $0x4,%eax
439b95:	f6 c1 10             	test   $0x10,%cl
439b98:	74 03                	je     0x439b9d
439b9a:	83 c8 02             	or     $0x2,%eax
439b9d:	f6 c1 20             	test   $0x20,%cl
439ba0:	74 03                	je     0x439ba5
439ba2:	83 c8 01             	or     $0x1,%eax
439ba5:	f6 c1 02             	test   $0x2,%cl
439ba8:	74 05                	je     0x439baf
439baa:	0d 00 00 08 00       	or     $0x80000,%eax
439baf:	8b e5                	mov    %ebp,%esp
439bb1:	5d                   	pop    %ebp
439bb2:	c3                   	ret
439bb3:	8b ff                	mov    %edi,%edi
439bb5:	55                   	push   %ebp
439bb6:	8b ec                	mov    %esp,%ebp
439bb8:	83 ec 10             	sub    $0x10,%esp
439bbb:	9b d9 7d f8          	fstcw  -0x8(%ebp)
439bbf:	66 8b 45 f8          	mov    -0x8(%ebp),%ax
439bc3:	33 c9                	xor    %ecx,%ecx
439bc5:	a8 01                	test   $0x1,%al
439bc7:	74 03                	je     0x439bcc
439bc9:	6a 10                	push   $0x10
439bcb:	59                   	pop    %ecx
439bcc:	a8 04                	test   $0x4,%al
439bce:	74 03                	je     0x439bd3
439bd0:	83 c9 08             	or     $0x8,%ecx
439bd3:	a8 08                	test   $0x8,%al
439bd5:	74 03                	je     0x439bda
439bd7:	83 c9 04             	or     $0x4,%ecx
439bda:	a8 10                	test   $0x10,%al
439bdc:	74 03                	je     0x439be1
439bde:	83 c9 02             	or     $0x2,%ecx
439be1:	a8 20                	test   $0x20,%al
439be3:	74 03                	je     0x439be8
439be5:	83 c9 01             	or     $0x1,%ecx
439be8:	a8 02                	test   $0x2,%al
439bea:	74 06                	je     0x439bf2
439bec:	81 c9 00 00 08 00    	or     $0x80000,%ecx
439bf2:	53                   	push   %ebx
439bf3:	56                   	push   %esi
439bf4:	0f b7 f0             	movzwl %ax,%esi
439bf7:	bb 00 0c 00 00       	mov    $0xc00,%ebx
439bfc:	8b d6                	mov    %esi,%edx
439bfe:	57                   	push   %edi
439bff:	bf 00 02 00 00       	mov    $0x200,%edi
439c04:	23 d3                	and    %ebx,%edx
439c06:	74 26                	je     0x439c2e
439c08:	81 fa 00 04 00 00    	cmp    $0x400,%edx
439c0e:	74 18                	je     0x439c28
439c10:	81 fa 00 08 00 00    	cmp    $0x800,%edx
439c16:	74 0c                	je     0x439c24