4359ed:	74 03                	je     0x4359f2
4359ef:	83 ce 01             	or     $0x1,%esi
4359f2:	a8 02                	test   $0x2,%al
4359f4:	74 06                	je     0x4359fc
4359f6:	81 ce 00 00 08 00    	or     $0x80000,%esi
4359fc:	0f b7 d0             	movzwl %ax,%edx
4359ff:	8b ca                	mov    %edx,%ecx
435a01:	23 cb                	and    %ebx,%ecx
435a03:	74 2a                	je     0x435a2f
435a05:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
435a0b:	74 1c                	je     0x435a29
435a0d:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
435a13:	74 0c                	je     0x435a21
435a15:	3b cb                	cmp    %ebx,%ecx
435a17:	75 16                	jne    0x435a2f
435a19:	81 ce 00 03 00 00    	or     $0x300,%esi
435a1f:	eb 0e                	jmp    0x435a2f
435a21:	81 ce 00 02 00 00    	or     $0x200,%esi
435a27:	eb 06                	jmp    0x435a2f
435a29:	81 ce 00 01 00 00    	or     $0x100,%esi
435a2f:	81 e2 00 03 00 00    	and    $0x300,%edx
435a35:	74 10                	je     0x435a47
435a37:	81 fa 00 02 00 00    	cmp    $0x200,%edx
435a3d:	75 0e                	jne    0x435a4d
435a3f:	81 ce 00 00 01 00    	or     $0x10000,%esi
435a45:	eb 06                	jmp    0x435a4d
435a47:	81 ce 00 00 02 00    	or     $0x20000,%esi
435a4d:	0f b7 c0             	movzwl %ax,%eax
435a50:	ba 00 10 00 00       	mov    $0x1000,%edx
435a55:	85 c2                	test   %eax,%edx
435a57:	74 06                	je     0x435a5f
435a59:	81 ce 00 00 04 00    	or     $0x40000,%esi
435a5f:	83 3d bc 68 45 00 01 	cmpl   $0x1,0x4568bc
435a66:	0f 8c 86 01 00 00    	jl     0x435bf2
435a6c:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
435a72:	0f ae 5d f0          	stmxcsr -0x10(%ebp)
435a76:	8b 4d f0             	mov    -0x10(%ebp),%ecx
435a79:	8b c1                	mov    %ecx,%eax
435a7b:	c1 e8 03             	shr    $0x3,%eax
435a7e:	83 e0 10             	and    $0x10,%eax
435a81:	f7 c1 00 02 00 00    	test   $0x200,%ecx
435a87:	74 03                	je     0x435a8c
435a89:	83 c8 08             	or     $0x8,%eax
435a8c:	f7 c1 00 04 00 00    	test   $0x400,%ecx
435a92:	74 03                	je     0x435a97
435a94:	83 c8 04             	or     $0x4,%eax
435a97:	f7 c1 00 08 00 00    	test   $0x800,%ecx
435a9d:	74 03                	je     0x435aa2
435a9f:	83 c8 02             	or     $0x2,%eax
435aa2:	85 ca                	test   %ecx,%edx
435aa4:	74 03                	je     0x435aa9
435aa6:	83 c8 01             	or     $0x1,%eax
435aa9:	f7 c1 00 01 00 00    	test   $0x100,%ecx
435aaf:	74 05                	je     0x435ab6
435ab1:	0d 00 00 08 00       	or     $0x80000,%eax
435ab6:	8b d1                	mov    %ecx,%edx
435ab8:	bb 00 60 00 00       	mov    $0x6000,%ebx
435abd:	23 d3                	and    %ebx,%edx
435abf:	74 27                	je     0x435ae8
435ac1:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
435ac7:	74 1a                	je     0x435ae3
435ac9:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
435acf:	74 0b                	je     0x435adc
435ad1:	3b d3                	cmp    %ebx,%edx
435ad3:	75 13                	jne    0x435ae8
435ad5:	0d 00 03 00 00       	or     $0x300,%eax
435ada:	eb 0c                	jmp    0x435ae8
435adc:	0d 00 02 00 00       	or     $0x200,%eax
435ae1:	eb 05                	jmp    0x435ae8
435ae3:	0d 00 01 00 00       	or     $0x100,%eax
435ae8:	6a 40                	push   $0x40
435aea:	81 e1 40 80 00 00    	and    $0x8040,%ecx
435af0:	5b                   	pop    %ebx
435af1:	2b cb                	sub    %ebx,%ecx
435af3:	74 1a                	je     0x435b0f
435af5:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
435afb:	74 0b                	je     0x435b08
435afd:	2b cb                	sub    %ebx,%ecx
435aff:	75 13                	jne    0x435b14
435b01:	0d 00 00 00 01       	or     $0x1000000,%eax
435b06:	eb 0c                	jmp    0x435b14
435b08:	0d 00 00 00 03       	or     $0x3000000,%eax
435b0d:	eb 05                	jmp    0x435b14
435b0f:	0d 00 00 00 02       	or     $0x2000000,%eax
435b14:	8b cf                	mov    %edi,%ecx
435b16:	23 7d 08             	and    0x8(%ebp),%edi
435b19:	f7 d1                	not    %ecx
435b1b:	23 c8                	and    %eax,%ecx
435b1d:	0b cf                	or     %edi,%ecx
435b1f:	3b c8                	cmp    %eax,%ecx
435b21:	0f 84 b4 00 00 00    	je     0x435bdb
435b27:	51                   	push   %ecx
435b28:	e8 46 fc ff ff       	call   0x435773
435b2d:	50                   	push   %eax
435b2e:	89 45 f4             	mov    %eax,-0xc(%ebp)
435b31:	e8 b2 93 ff ff       	call   0x42eee8
435b36:	59                   	pop    %ecx
435b37:	59                   	pop    %ecx
435b38:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
435b3c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
435b3f:	8b c1                	mov    %ecx,%eax
435b41:	c1 e8 03             	shr    $0x3,%eax
435b44:	83 e0 10             	and    $0x10,%eax
435b47:	f7 c1 00 02 00 00    	test   $0x200,%ecx
435b4d:	74 03                	je     0x435b52
435b4f:	83 c8 08             	or     $0x8,%eax
435b52:	f7 c1 00 04 00 00    	test   $0x400,%ecx
435b58:	74 03                	je     0x435b5d
435b5a:	83 c8 04             	or     $0x4,%eax
435b5d:	f7 c1 00 08 00 00    	test   $0x800,%ecx
435b63:	74 03                	je     0x435b68
435b65:	83 c8 02             	or     $0x2,%eax
435b68:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
435b6e:	74 03                	je     0x435b73
435b70:	83 c8 01             	or     $0x1,%eax
435b73:	f7 c1 00 01 00 00    	test   $0x100,%ecx
435b79:	74 05                	je     0x435b80
435b7b:	0d 00 00 08 00       	or     $0x80000,%eax
435b80:	8b d1                	mov    %ecx,%edx
435b82:	bf 00 60 00 00       	mov    $0x6000,%edi
435b87:	23 d7                	and    %edi,%edx
435b89:	74 27                	je     0x435bb2
435b8b:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
435b91:	74 1a                	je     0x435bad
435b93:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
435b99:	74 0b                	je     0x435ba6
435b9b:	3b d7                	cmp    %edi,%edx
435b9d:	75 13                	jne    0x435bb2
435b9f:	0d 00 03 00 00       	or     $0x300,%eax
435ba4:	eb 0c                	jmp    0x435bb2
435ba6:	0d 00 02 00 00       	or     $0x200,%eax
435bab:	eb 05                	jmp    0x435bb2
435bad:	0d 00 01 00 00       	or     $0x100,%eax
435bb2:	81 e1 40 80 00 00    	and    $0x8040,%ecx
435bb8:	2b cb                	sub    %ebx,%ecx
435bba:	74 1a                	je     0x435bd6
435bbc:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
435bc2:	74 0b                	je     0x435bcf
435bc4:	2b cb                	sub    %ebx,%ecx
435bc6:	75 13                	jne    0x435bdb
435bc8:	0d 00 00 00 01       	or     $0x1000000,%eax
435bcd:	eb 0c                	jmp    0x435bdb
435bcf:	0d 00 00 00 03       	or     $0x3000000,%eax
435bd4:	eb 05                	jmp    0x435bdb
435bd6:	0d 00 00 00 02       	or     $0x2000000,%eax
435bdb:	8b c8                	mov    %eax,%ecx
435bdd:	33 c6                	xor    %esi,%eax
435bdf:	0b ce                	or     %esi,%ecx
435be1:	a9 1f 03 08 00       	test   $0x8031f,%eax
435be6:	74 06                	je     0x435bee
435be8:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
435bee:	8b c1                	mov    %ecx,%eax
435bf0:	eb 02                	jmp    0x435bf4
435bf2:	8b c6                	mov    %esi,%eax
435bf4:	5f                   	pop    %edi
435bf5:	5e                   	pop    %esi
435bf6:	5b                   	pop    %ebx
435bf7:	c9                   	leave
435bf8:	c3                   	ret
435bf9:	8b ff                	mov    %edi,%edi
435bfb:	55                   	push   %ebp
435bfc:	8b ec                	mov    %esp,%ebp
435bfe:	8b 4d 08             	mov    0x8(%ebp),%ecx
435c01:	8b d1                	mov    %ecx,%edx
435c03:	c1 ea 04             	shr    $0x4,%edx
435c06:	83 e2 01             	and    $0x1,%edx
435c09:	8b c2                	mov    %edx,%eax
435c0b:	f6 c1 08             	test   $0x8,%cl
435c0e:	74 06                	je     0x435c16
435c10:	83 ca 04             	or     $0x4,%edx
435c13:	0f b7 c2             	movzwl %dx,%eax
435c16:	f6 c1 04             	test   $0x4,%cl
435c19:	74 03                	je     0x435c1e
435c1b:	83 c8 08             	or     $0x8,%eax
435c1e:	f6 c1 02             	test   $0x2,%cl
435c21:	74 03                	je     0x435c26
435c23:	83 c8 10             	or     $0x10,%eax
435c26:	f6 c1 01             	test   $0x1,%cl
435c29:	74 03                	je     0x435c2e
435c2b:	83 c8 20             	or     $0x20,%eax
435c2e:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
435c34:	74 03                	je     0x435c39
435c36:	83 c8 02             	or     $0x2,%eax
435c39:	56                   	push   %esi
435c3a:	8b d1                	mov    %ecx,%edx
435c3c:	be 00 03 00 00       	mov    $0x300,%esi
435c41:	57                   	push   %edi
435c42:	bf 00 02 00 00       	mov    $0x200,%edi
435c47:	23 d6                	and    %esi,%edx
435c49:	74 23                	je     0x435c6e
435c4b:	81 fa 00 01 00 00    	cmp    $0x100,%edx
435c51:	74 16                	je     0x435c69
435c53:	3b d7                	cmp    %edi,%edx
435c55:	74 0b                	je     0x435c62
435c57:	3b d6                	cmp    %esi,%edx
435c59:	75 13                	jne    0x435c6e
435c5b:	0d 00 0c 00 00       	or     $0xc00,%eax
435c60:	eb 0c                	jmp    0x435c6e
435c62:	0d 00 08 00 00       	or     $0x800,%eax
435c67:	eb 05                	jmp    0x435c6e
435c69:	0d 00 04 00 00       	or     $0x400,%eax
435c6e:	8b d1                	mov    %ecx,%edx
435c70:	81 e2 00 00 03 00    	and    $0x30000,%edx
435c76:	74 0c                	je     0x435c84
435c78:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
435c7e:	75 06                	jne    0x435c86
435c80:	0b c7                	or     %edi,%eax
435c82:	eb 02                	jmp    0x435c86
435c84:	0b c6                	or     %esi,%eax
435c86:	5f                   	pop    %edi
435c87:	5e                   	pop    %esi
435c88:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
435c8e:	74 05                	je     0x435c95
435c90:	0d 00 10 00 00       	or     $0x1000,%eax
435c95:	5d                   	pop    %ebp
435c96:	c3                   	ret
435c97:	8b ff                	mov    %edi,%edi
435c99:	55                   	push   %ebp
435c9a:	8b ec                	mov    %esp,%ebp
435c9c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
435ca0:	75 15                	jne    0x435cb7
435ca2:	e8 89 dd fe ff       	call   0x423a30
435ca7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
435cad:	e8 d1 9c fe ff       	call   0x41f983
435cb2:	83 c8 ff             	or     $0xffffffff,%eax
435cb5:	5d                   	pop    %ebp
435cb6:	c3                   	ret
435cb7:	ff 75 08             	push   0x8(%ebp)
435cba:	6a 00                	push   $0x0
435cbc:	ff 35 a8 71 45 00    	push   0x4571a8
435cc2:	ff 15 40 e1 43 00    	call   *0x43e140
435cc8:	5d                   	pop    %ebp
435cc9:	c3                   	ret
435cca:	8b ff                	mov    %edi,%edi
435ccc:	55                   	push   %ebp
435ccd:	8b ec                	mov    %esp,%ebp
435ccf:	ff 75 14             	push   0x14(%ebp)
435cd2:	ff 75 10             	push   0x10(%ebp)
435cd5:	ff 75 0c             	push   0xc(%ebp)
435cd8:	ff 75 08             	push   0x8(%ebp)
435cdb:	ff 15 58 e1 43 00    	call   *0x43e158
435ce1:	5d                   	pop    %ebp
435ce2:	c3                   	ret
435ce3:	8b ff                	mov    %edi,%edi
435ce5:	55                   	push   %ebp
435ce6:	8b ec                	mov    %esp,%ebp
435ce8:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
435cec:	74 14                	je     0x435d02
435cee:	8b 45 08             	mov    0x8(%ebp),%eax
435cf1:	eb 01                	jmp    0x435cf4
435cf3:	40                   	inc    %eax
435cf4:	8a 08                	mov    (%eax),%cl
435cf6:	80 f9 30             	cmp    $0x30,%cl
435cf9:	74 f8                	je     0x435cf3
435cfb:	84 c9                	test   %cl,%cl
435cfd:	0f 95 c0             	setne  %al
435d00:	5d                   	pop    %ebp
435d01:	c3                   	ret
435d02:	b0 01                	mov    $0x1,%al
435d04:	5d                   	pop    %ebp
435d05:	c3                   	ret
435d06:	8b ff                	mov    %edi,%edi
435d08:	55                   	push   %ebp
435d09:	8b ec                	mov    %esp,%ebp
435d0b:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
435d0f:	75 0b                	jne    0x435d1c
435d11:	8b 45 0c             	mov    0xc(%ebp),%eax
435d14:	80 38 35             	cmpb   $0x35,(%eax)
435d17:	0f 9d c0             	setge  %al
435d1a:	5d                   	pop    %ebp
435d1b:	c3                   	ret
435d1c:	e8 4d 88 ff ff       	call   0x42e56e
435d21:	85 c0                	test   %eax,%eax
435d23:	75 2d                	jne    0x435d52
435d25:	8b 55 0c             	mov    0xc(%ebp),%edx
435d28:	8a 02                	mov    (%edx),%al
435d2a:	3c 35                	cmp    $0x35,%al
435d2c:	7f 20                	jg     0x435d4e
435d2e:	7c 60                	jl     0x435d90
435d30:	ff 75 14             	push   0x14(%ebp)
435d33:	8d 42 01             	lea    0x1(%edx),%eax
435d36:	50                   	push   %eax
435d37:	e8 a7 ff ff ff       	call   0x435ce3
435d3c:	59                   	pop    %ecx
435d3d:	59                   	pop    %ecx
435d3e:	84 c0                	test   %al,%al
435d40:	75 0c                	jne    0x435d4e
435d42:	3b 55 08             	cmp    0x8(%ebp),%edx
435d45:	74 49                	je     0x435d90
435d47:	8a 42 ff             	mov    -0x1(%edx),%al
435d4a:	24 01                	and    $0x1,%al
435d4c:	5d                   	pop    %ebp
435d4d:	c3                   	ret
435d4e:	b0 01                	mov    $0x1,%al
435d50:	5d                   	pop    %ebp
435d51:	c3                   	ret
435d52:	3d 00 02 00 00       	cmp    $0x200,%eax
435d57:	75 19                	jne    0x435d72
435d59:	ff 75 14             	push   0x14(%ebp)
435d5c:	ff 75 0c             	push   0xc(%ebp)
435d5f:	e8 7f ff ff ff       	call   0x435ce3
435d64:	59                   	pop    %ecx
435d65:	59                   	pop    %ecx
435d66:	84 c0                	test   %al,%al
435d68:	74 26                	je     0x435d90
435d6a:	83 7d 10 2d          	cmpl   $0x2d,0x10(%ebp)
435d6e:	74 20                	je     0x435d90
435d70:	eb dc                	jmp    0x435d4e
435d72:	3d 00 01 00 00       	cmp    $0x100,%eax
435d77:	75 17                	jne    0x435d90
435d79:	ff 75 14             	push   0x14(%ebp)
435d7c:	ff 75 0c             	push   0xc(%ebp)
435d7f:	e8 5f ff ff ff       	call   0x435ce3
435d84:	59                   	pop    %ecx
435d85:	59                   	pop    %ecx
435d86:	84 c0                	test   %al,%al
435d88:	74 06                	je     0x435d90
435d8a:	83 7d 10 2d          	cmpl   $0x2d,0x10(%ebp)
435d8e:	74 be                	je     0x435d4e
435d90:	32 c0                	xor    %al,%al
435d92:	5d                   	pop    %ebp
435d93:	c3                   	ret
435d94:	8b ff                	mov    %edi,%edi
435d96:	55                   	push   %ebp
435d97:	8b ec                	mov    %esp,%ebp
435d99:	51                   	push   %ecx
435d9a:	56                   	push   %esi
435d9b:	57                   	push   %edi
435d9c:	8b 7d 08             	mov    0x8(%ebp),%edi
435d9f:	33 c9                	xor    %ecx,%ecx
435da1:	85 ff                	test   %edi,%edi
435da3:	75 22                	jne    0x435dc7
435da5:	8b 45 20             	mov    0x20(%ebp),%eax
435da8:	6a 16                	push   $0x16
435daa:	5e                   	pop    %esi
435dab:	50                   	push   %eax
435dac:	51                   	push   %ecx
435dad:	51                   	push   %ecx
435dae:	51                   	push   %ecx
435daf:	51                   	push   %ecx
435db0:	51                   	push   %ecx
435db1:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
435db5:	89 70 18             	mov    %esi,0x18(%eax)
435db8:	e8 49 9b fe ff       	call   0x41f906
435dbd:	83 c4 18             	add    $0x18,%esp
435dc0:	8b c6                	mov    %esi,%eax
435dc2:	e9 c3 00 00 00       	jmp    0x435e8a
435dc7:	53                   	push   %ebx
435dc8:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
435dcb:	76 1e                	jbe    0x435deb